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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mac Curl命令「建议收藏」

    Mac系统自带curl命令输出百度首页的html文件内容:curlhttp://www.baidu.com保存当前网页curlhttp://www.baidu.com>duang.html发送post请求curl-Xposthttp://www.baidu.com

  • JavaScript 下载文件并保持原文件名称

    JavaScript 下载文件并保持原文件名称<script>//获取文件名functionfileNameFromHeader(disposition){varresult=null;if(disposition&&/filename=.*/ig.test(disposition)){result=dispos…

  • 单例模式与静态方法_静态内部类单例模式原理

    单例模式与静态方法_静态内部类单例模式原理本文主要介绍java的单例模式,以及详细剖析静态内部类之所以能够实现单例的原理。OK,废话不多说,进入正文。首先我们要先了解下单例的四大原则:1.构造私有。2.以静态方法或者枚举返回实例。3.确保实例只有一个,尤其是多线程环境。4.确保反序列换时不会重新构建对象。我们常用的单例模式有:饿汉模式、懒汉模式、双重锁懒汉模式、静态内部类模式、枚举模式,我们来逐一分析下这些模式的…

    2022年10月11日
  • visual studio创建数据库_读取硬件安装信息

    visual studio创建数据库_读取硬件安装信息管理类是WMI类,如Win32_LogicalDisk,,该类型可表示一个磁盘驱动器,并Win32_Process,,它表示的进程Notepad.exe等。在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作。以上是对ManagementClass类的部分谁明,此类型的所有公共静态成员都是线程安全的。以上的获取硬件信息的方法可以直接封装在一个类中,可以在项目中直接引用,这样可以加快项目的开发速度。…

  • Vue下路由History mode导致页面无法渲染的原因

    Vue下路由History mode导致页面无法渲染的原因

    2021年10月13日
  • 华三vlan配置_路由器配置vlan的步骤

    华三vlan配置_路由器配置vlan的步骤基于MAC地址划分vlan配置思路:创建VLAN100、VLAN200。配置DeviceA和DeviceC的上行端口为Trunk端口,并允许VLAN100和VLAN200的报文通过。配置DeviceB的下行端口为Trunk端口,并允许VLAN100和VLAN200的报文通过;上行端口分别加入VLAN100、VLAN200。Laptop1和Laptop2的MAC地址分别与VLAN100、VLAN200关联。SWA与SWC的配置一致:创建vlan:vlan100

发表回复

您的电子邮箱地址不会被公开。

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