sp_executesql接收返回多个参数实例

sp_executesql接收返回多个参数实例近日做项目中需要在EXEC执行Sql字符串时动态的传入参数并接收返回值,于是研究了一下SqlServer中sp_executesql的使用方法,并做了如下的例子。在使用sp_executesql动态传入与接收返回参数时需注意以下事项,以避免大家走弯路。例子中@SQLString,@ParmDefinition一定要使用NVARCHAR类型,否则会报“过程需要参数××××为ntext/n

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

近日做项目中需要在EXEC执行Sql字符串时动态的传入参数并接收返回值,于是研究了一下SqlServer中sp_executesql的使用方法,并做了如下的例子。
在使用sp_executesql动态传入与接收返回参数时需注意以下事项,以避免大家走弯路。
例子中@SQLString,@ParmDefinition一定要使用NVARCHAR类型,否则会报“过程需要参数 ‘××××’ 为 ‘ntext/nchar/nvarchar’ 类型。”错误。
文档中说这两个变量赋值的字符串前要加N,我试了试,没加也不报错,不过你最好加上。毕竟人家是官方文档么。

sp_executesql接收返回多个参数实例

传递一个Int类型参数

sp_executesql接收返回多个参数实例

DECLARE
 
@IntVariable
 
INT

sp_executesql接收返回多个参数实例

DECLARE
 
@SQLString
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例

DECLARE
 
@ParmDefinition
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例
sp_executesql接收返回多个参数实例

SET
 
@SQLString
 
=
 N

SELECT * FROM pubs.dbo.employee WHERE job_lvl = @level


sp_executesql接收返回多个参数实例

SET
 
@ParmDefinition
 
=
 N

@level tinyint


sp_executesql接收返回多个参数实例

SET
 
@IntVariable
 
=
 
35

sp_executesql接收返回多个参数实例

EXECUTE
 sp_executesql 
@SQLString

@ParmDefinition
,
@level
 
=
 
@IntVariable

sp_executesql接收返回多个参数实例


SET @IntVariable = 32

sp_executesql接收返回多个参数实例

EXECUTE sp_executesql @SQLString, @ParmDefinition,@level = @IntVariable

sp_executesql接收返回多个参数实例

—————————————————————————–

sp_executesql接收返回多个参数实例

传递一个varchar类型参数

sp_executesql接收返回多个参数实例

DECLARE
 
@VarVariable
 
varchar
(
500
)
sp_executesql接收返回多个参数实例

DECLARE
 
@SQLString
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例

DECLARE
 
@ParmDefinition
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例
sp_executesql接收返回多个参数实例

SET
 
@SQLString
 
=
 N

SELECT * FROM pubs.dbo.employee WHERE fname = @VarVariable


sp_executesql接收返回多个参数实例

SET
 
@ParmDefinition
 
=
 N

@VarVariable varchar(500)


sp_executesql接收返回多个参数实例

SET
 
@VarVariable
 
=
 

Helen


sp_executesql接收返回多个参数实例

EXECUTE
 sp_executesql 
@SQLString

@ParmDefinition
,
@VarVariable

sp_executesql接收返回多个参数实例


—————————————————————————–

sp_executesql接收返回多个参数实例

传递两个参数,一个varchar类型参数接收返回值,一个Int类型参数

sp_executesql接收返回多个参数实例

DECLARE
 
@VarVariable
 
VARCHAR
(
500
)
sp_executesql接收返回多个参数实例

DECLARE
 
@IntVariable
 
INT

sp_executesql接收返回多个参数实例

DECLARE
 
@SQLString
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例

DECLARE
 
@ParmDefinition
 
NVARCHAR
(
500
)
sp_executesql接收返回多个参数实例
sp_executesql接收返回多个参数实例

SET
 
@SQLString
 
=
 N

SELECT @VarVariable = Count(*) FROM pubs.dbo.employee WHERE job_lvl = @IntVariable


sp_executesql接收返回多个参数实例

SET
 
@IntVariable
 
=
 
35

sp_executesql接收返回多个参数实例

SET
 
@ParmDefinition
 
=
 N

@VarVariable VARCHAR(500) OUT,@IntVariable INT


sp_executesql接收返回多个参数实例

SET
 
@VarVariable
 
=
 

Helen


sp_executesql接收返回多个参数实例

EXECUTE
 sp_executesql 
@SQLString
,
@ParmDefinition
,
@VarVariable
 OUT,
@IntVariable

sp_executesql接收返回多个参数实例

print
 
@VarVariable
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#常用 API函数大全[通俗易懂]

    C#常用 API函数大全[通俗易懂]常用WindowsAPI1.API之网络函数WNetAddConnection创建同一个网络资源的永久性连接WNetAddConnection2创建同一个网络资源的连接WNetAddConnection3创建同一个网络资源的连接WNetCancelConnection结束一个网络连接WNetCancelConnection2结束一个网络连接WNetCloseEn

    2025年6月25日
    5
  • WIN7(WINDOWS7)在添加网络打印机时提示这个,这里的密码是什么密码,能不能不用密码?

    WIN7(WINDOWS7)在添加网络打印机时提示这个,这里的密码是什么密码,能不能不用密码?

    2021年11月17日
    44
  • 正态qq图怎么判断分布_怎么判断是不是QQ小号

    正态qq图怎么判断分布_怎么判断是不是QQ小号一、正态QQ图的原理QQ图通过把测试样本数据的分位数与已知分布相比较,从而来检验数据的分布情况。[1]分位数:亦称分位点,是指将一个随机变量的概率分布范围分为几个等份的数值点。常用的有一个分位数叫,百分位数,它是指如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。QQ图是一种散点图,对应于正态分布的QQ图,就是由标准正态分布的分位

    2022年8月10日
    4
  • PropertyDescriptor 详解

    PropertyDescriptor 详解PropertyDescriptor详解](http://blog.csdn.net/z69183787/article/details/8443777)转自http://blog.csdn.net/z69183787/article/details/8443777packagecom.zhoushun;importjava.lang.reflect.Method;importjava

    2022年10月1日
    3
  • &0xFF是怎么个意思[通俗易懂]

    &0xFF是怎么个意思[通俗易懂]今天看了下同事从网上拷贝的base64加密的代码,看到了这样如下的代码publicstaticStringencode(byte[]data){StringBuildersb=newStringBuilder();intlen=data.length;inti=0;intb1,b2,b3;while(i

    2022年6月15日
    40
  • (4.31)quotename函数

    (4.31)quotename函数操作sqlserver尤其是写存储过程时,要用到各种各样的函数,今天就总结一个quotename()的用法。1.语法:quotename(‘character_string’[,‘quote_character’])[]里面的内容说明可以省略,缺省情况下,说明用‘[]’引用。character_string,unicode字符数据构成的字符串。character_string是s…

    2022年7月25日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号