前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sp_executesql 与 参数

sp_executesql 与 参数

作者头像
全栈程序员站长
发布2022-08-31 11:32:43
4280
发布2022-08-31 11:32:43
举报

大家好,又见面了,我是你们的朋友全栈君。

总结了一下 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 虽然更在参数列表中,但是是没有什么意义的。是以前写的。现在才明白。呵呵

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143423.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档