永发信息网

如何在存储过程中执行set命令

答案:2  悬赏:60  手机版
解决时间 2021-02-06 08:16
如何在存储过程中执行set命令
最佳答案
1.EXEC使用
EXEC命令两种用种执行存储程另种执行态批处理所讲都第二种用
  面先使用EXEC演示例,代码1
DECLARE @TableName VARCHAr(50),@Sql NVARCHAr (MAX),@OrderID INT;
SET @TableName = 'Orders';
SET @OrderID = 10251;
SET @sql =
    'SELECt * FROM '+QUOTENAME(@TableName) +'WHERe OrderID = '+
    CAST(@OrderID AS VARCHAr(10))+' ORDER BY ORDERID DESC'
EXEC(@sql);

sp_executesql命令SQL Server引入比EXEC命令晚些主要重用执行计划提供更支持
EXEC作鲜明比,我看看用代码1代码EXEC换sp_executesql,看看否我所期望结
DECLARE @TableName VARCHAr(50),@sql NVARCHAr(MAX),@OrderID INT ,@sql2 NVARCHAr(MAX);
SET @TableName = 'Orders ';
SET @OrderID = 10251;
SET @sql = 'SELECt * FROM '+QUOTENAME(@TableName) + ' WHERe OrderID = '+CAST(@OrderID AS VARCHAr(50)) + ' ORDER BY ORDERID DESC'
EXEC sp_executesql @sql
全部回答
--1.ouput参数返回值create procedure [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint output)asbeginset nocount on;begininsert into [order](o_buyerid )values (@o_buyerid )set @o_id = @@identityendend存储过程中获得方法: declare @o_buyerid intdeclare @o_id bigintexec [nb_order_insert] @o_buyerid,@o_id output --2.return过程返回值create procedure [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint output)asbeginset nocount on;if(exists(select * from [shop] where [s_id] = @o_shopid))begininsert into [order](o_buyerid )values (@o_buyerid )set @o_id = @@identityreturn 1 — 插入成功返回1endelsereturn 0 — 插入失败返回0end存储过程中获得方法: declare @o_buyerid intdeclare @o_id bigintdeclare @result bitexec @result = [nb_order_insert] @o_buyerid ,o_id bigint 以下是程序获得存储过程值 1、获取output输出参数值 //存储过程//create procedure mysql// @a int,// @b int,// @c int output//as// set @c = @a + @b//gosqlconnection conn = new sqlconnection(configurationmanager.connectionstrings["localsqlserver"].tostring());conn.open();sqlcommand mycommand = new sqlcommand("mysql", conn);mycommand.commandtype = commandtype.storedprocedure;mycommand.parameters.add(new sqlparameter("@a", sqldbtype.int));mycommand.parameters["@a"].value = 20;mycommand.parameters.add(new sqlparameter("@b", sqldbtype.int));mycommand.parameters["@b"].value = 20;mycommand.parameters.add(new sqlparameter("@c", sqldbtype.int));mycommand.parameters["@c"].direction = parameterdirection.output;mycommand.executenonquery();response.write(mycommand.parameters["@c"].value.tostring());2、获取return返回值 //存储过程//create procedure mysql// @a int,// @b int//as// return @a + @b//gosqlconnection conn = new sqlconnection(configurationmanager.connectionstrings["localsqlserver"].tostring());conn.open();sqlcommand mycommand = new sqlcommand("mysql", conn);mycommand.commandtype = commandtype.storedprocedure;mycommand.parameters.add(new sqlparameter("@a", sqldbtype.int));mycommand.parameters["@a"].value = 10;mycommand.parameters.add(new sqlparameter("@b", sqldbtype.int));mycommand.parameters["@b"].value = 20;mycommand.parameters.add(new sqlparameter("@return", sqldbtype.int));mycommand.parameters["@return"].direction = parameterdirection.returnvalue;mycommand.executenonquery();response.write(mycommand.parameters["@return"].value.tostring());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
包含丽又包含秀的成语
求生之路2浩方人多吗
至美上妆化妆品地址在什么地方,想过去办事
弘成名居地址在哪,我要去那里办事
空调旁通阀为什么会动作
地球上那个国家人口最多排名分别是?
笔记本电脑Win10系统怎么关闭自动更新
白晰的意思是什么啊?知道的请说下!
如何让电脑无键盘开机
我的问题是 :“有什么问题让别人回答不上来
马上过春节了,你们记忆中春节的味道是什么?
范氏化妆品连锁(/商业广场店)怎么去啊,我要
云商步行街/巴邱南路(路口)在什么地方啊,我
追路的意思是什么啊?知道的请说下!
如何创业微商代理起步
推荐资讯
姜俊英妇科诊所在什么地方啊,我要过去处理事
雪冰在什么地方啊,我要过去处理事情
方圆物流(铁道北街西50米方圆物流)地址在哪,
吴起县公安局交警大队周长中队地址在哪,我要
可方旅馆地址在哪,我要去那里办事
香港西营盘属于哪个区
失魂丧胆的意思是什么啊?知道的请说下!
我的车去年出险6次,今年买全保的费用会多多少
你好,我刚买的oPPoA59m玩天天酷跑怎么触屏不
两山之间(一南一北),有河流,这样的地方风
交广微贷易是自己放款还是银行放款,放款速度
中国邮政储蓄银行24小时自助银行(娄塘支行)地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?