executesql 存储过程

复制代码 代码如下:declare @tt varchar(20)set @tt = ‘monisubbouns’ declare @int int declare @sql nvarchar(500卡塔尔(قطر‎ set
@sql = ‘select @int=count(*) from ‘ + @tt exec sp_executesql
@sql,N’@int int output’,@int output print @int

AS
declare @Tagid int
declare @Taid int
declare @num int
declare @tagname nvarchar(1000)
declare @sum int
declare @word nvarchar(50)
declare @f varchar(8000)
declare @int int
declare @a int

insert them(themname,readme,userid,voosayclassid)
values(@themname,@readme,@userid,@userid,@classid卡塔尔(قطر‎–先插入数据创建专项论题
set @Taid=@@identity–获取刚刚插入的主健
if(@kword<>” and @kword<>nullState of Qatar–推断输入的tag是不是为空
begin
 set   @int=charindex(‘,’,@kword)
 if(@int=0State of Qatar–@int为零意味着插入的tag唯有多少个
 begin
  select @num=count(themtagid) from themtag where themtagname=@kword
  if(@num=1State of Qatar–@num等于1意味着tag名字已经存在
  BEGIN
   select @tagid=themtagid from themtag where
themtagname=@kword—取得该tag已经存在的tagid
   INSERT themvstag VALUES(@tagid,@Taid卡塔尔国–创立专项论题和tag的关系
  end
  else if(@num=0卡塔尔国–鲜明@num等于0意味着tag名字还不设有
  begin
   INSERT themtag(themtagname) VALUES(@kword)
   SET @tagid=@@identity–获得刚刚插入的主健
   INSERT themvstag VALUES(@tagid,@Taid)
  end
 end
 else—转捩点 表达tag的个数是一个以上
 begin
  set   @f=@kword
  set   @int=0
  set   @int=charindex(‘,’,@f)
  while   @int<>0
  begin
   set @word=left(@f,charindex(‘,’,@f卡塔尔(قطر‎-1State of Qatar–从左边最初截取tag
   select @num=count(themtagid) from themtag where themtagname=@word
   if(@num!=0卡塔尔国–@num等于1象征tag名字早已存在,@num这里一定是特别1
只要不等于0的话
   BEGIN
    select @tagid=themtagid from themtag where themtagname=@word
    INSERT themvstag VALUES(@tagid,@Taid卡塔尔(قطر‎–创设专项论题和tag的涉及
   end
   else
   begin
    INSERT themtag(themtagname) VALUES(@word)
    SET @tagid=@@identity
    INSERT themvstag VALUES(@tagid,@Taid)
    set  
@f=right(@f,len(@f卡塔尔(قطر‎-@int卡塔尔(قطر‎–从传进来的tag中减去刚操作的老大字符串
    set   @int=charindex(‘,’,@f卡塔尔国–创设新的字符串
   end
  end–在这里间while循环结束 –下边包车型大巴来拓宽决断字符串中最后二个
  select @num=count(themtagid) from themtag where themtagname=@f
  if(@num!=0)
  BEGIN
   select @tagid=themtagid from themtag where themtagname=@f
   INSERT themvstag VALUES(@tagid,@Taid)
  end
  else
澳门金沙vip,  begin
   INSERT themtag(themtagname) VALUES(@f)
   SET @tagid=@@identity
   INSERT themvstag VALUES(@tagid,@Taid)
  end
 end
end

CREATE  PROCEDURE voosaythemtag
@themname nvarchar(50),
@userid int,
@classid int,
@readme ntext,
@kword nvarchar(50),
@wordback int output

举个例子 这里 给顾客 叁个标题输入框 内容输入框  三个tag输入框
扶助tag以空格分割

因为中华夏族民共和国使用汉字,所以对于tag,中华夏族民共和国人也连日连夜用空格来间距来表示不是同二个tag

前后相继御史则地行使非常轻巧 两行:

诸如您输入的tag方式如下:voosay  blog  pizi 那么使用正则以后形成voosay,blog,pizi 
那样我们就能够直接提交存款和储蓄进程来管理了。存款和储蓄进度代码在最上边。