sp_executesql 与 参数
来源:互联网 发布:曲线积分理解 知乎 编辑:程序博客网 时间:2024/04/29 23:25
总结了一下 sp_executesql 与 参数 的关系
sp_executesql 并不能通过参数列表指定任意部分,在普通sql语句中是变量的可以指定,是常量的不能指定。
在sp_executesql 执行的字符串中, 下面称为spStr,有些是在设置sql字符串前就必须指定的,有些是以变量的形式指定的。跟sql语句相一致,这里语句称为 sqlStr,凡是在sqlStr语句中必须要声明为常量的,在 执行 sp_executesql 前,spStr中的相应的部分,也必须已经被赋值了,以字符常量的形式存在了。如 create table constTableName ...中的constTableName , select top constNum...中的 constNum。
如下是正确的
》----------------------------
declare @tableName nvarchar(20);
declare @spStr nvarchar(200);
set @ tableName = N'myTestTable';
set @spStr = N' create table' + @ tableName + N' ... '
execute sp_executesql @spStr;
----------------------------------||
如下是错误的
》----------------------------
declare @tableName nvarchar(20);
declare @spStr nvarchar(200);
set @ tableName = N'myTestTable';
set @spStr = N' create table @ tableName ... '
execute sp_executesql @spStr, N' @ tableName nvarchar(20)' ,@tableName
----------------------------------||
-----------------------------------------------
下面是以前写的一个动态存储过程
declare @nNum int;
set @nNum = @nPageSize * ( @nCurPage - 1 );
set @charSQL = N'select top ' + cast(@nNum as nvarchar(20)) + N' @nFirstID = nSceID ' +
N' from t_sceCardCN
where ( t_sceCardCN.nSceID between @nItemIDMin and @nItemIDMax )
and ( t_sceCardCN.nSceClass = @nSceClass and t_sceCardCN.nSceGrade =
@nSceGrade ) '
EXECUTE sp_executesql @charSQL
,N'@nNum int, @nFirstID int output , @nItemIDMin int, @nItemIDMax int, @nSceClass smallint, @nSceGrade smallint '
,@nNum, @nFirstID output , @nItemIDMin,@nItemIDMax, @nSceClass, @nSceGrade
说明:@nNum,在 sp_executesql 虽然更在参数列表中,但是是没有什么意义的。是以前写的。现在才明白。呵呵
- sp_executesql 与 参数
- sp_executesql 参数应用实例
- SP_EXECUTESQL 输出参数
- Sql sp_executesql 参数问题
- exec与sp_executesql
- [转载]sp_executesql 与 exec
- Execute 与 sp_Executesql
- execute与sp_executesql 区别
- exec与sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql
- sp_executesql 与 execute 的差异
- 我写的NOIP2007第一题
- JAVASCRIPT自定义对象
- 编译MEX文件
- 爆笑图片(家乐福)
- typedef使用大全(转)
- sp_executesql 与 参数
- 唱片巨头进军互联网音乐领域
- C语言中#define的用法(转)
- 互联网传输能力2010年将达到极限
- 朝九晚五
- Rails初印象
- The business enterprise information system and the management information system development trend
- ThoughtWorks CodeJam
- Management Information