设计师吧首页
 用户名  密码 记住
我是?
shaic
积分: 246
等级: 8级
威望: 6
关注: 2711次
我最近更新的内容
本栏目推荐内容
sp_executesql函数遇到的一个问题。
作者:shaic   日期:2008-1-18   来源:原创

executesql 是 SQL Server 的一个存储过程,用于执行一个 SQL 语句。

语法:

sp_executesql [@stmt =] stmt
[
     {, [@params =] N'@parameter_name data_type [,...n]' }
     {, [@param1 =] 'value1' [,...n] }
]

下面是在做一个连环复制插入数据表中相同数据事例,用到executesql

CREATE TABLE table1 (
id int IDENTITY (1, 1) NOT NULL ,
[title] varchar(50)
)

insert into table1(title) values('11')
insert into table1(title) values('22')
insert into table1(title) values('33')
insert into table1(title) values('44')

select * from table1

-------------------------------------------------------------

 

 

declare @id int
declare @j int
declare @k int
declare @strsql nvarchar(400)---一定要设为nvarchar,不是varchar

select @k=count(1) from table1
set @j=0
while (@j<@k)
begin

set @strsql='select @id=id from table1 where id not in(select top '+cast(@j as varchar)+' id from table1) order by id desc'
   --print @strsql

EXEC sp_executesql @strsql,N'@id int output',@id output


insert into table1(title) select (title + '_' + cast(@@identity + 1 as varchar)) from table1
where id=@id

set @j=@j+1
end

不知道为什么@strsql 非要设为nvarchar,浪费了几个小时时间,做个记录,

查看次数: 104
最近看过此内容的会员
您可能对这些内容感兴趣
·最强悍的PS图,你敢相信吗·我的故事《第六篇》
·俄罗斯VI设计作品欣赏·软件界面设计要素
·电信的小骗局·平面广告设计技巧
·《迪派影像世界》2006年12月电子杂志·小说---回帖
·策划设计制作网站应该注意的九大原则·这篇文章让我流泪了...
评论列表
没有评论
■游客, 您可以在此发表您的评论
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
使用这个表情使用这个表情使用这个表情使用这个表情使用这个表情
请您注意
·遵守《互联网电子公告服务管理规定》
·遵守《全国人大常委会关于维护互联网安全的决定》
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的言论而直接或间接导致的法律责任
·参与本留言即表明您已经阅读并接受上述条款
Copyright © 2007-2008 Sjs8.com 中国数字设计师网