您当前的位置:首页 > 养生 > 内容

sqlserver exe(sql server 中EXEC的用法)

本文目录

  • sql server 中EXEC的用法
  • sql 中exec 的含义和用法
  • sql server中exec(赋给sql语句的变量)如何用变量保存值
  • SQL语言EXEC作用
  • SQL中exec的用法
  • sqlserver中exec和execute的区别
  • SQLServer动态exec查询语句,返回查询变量
  • SQL SERVER exec 语法问题
  • SQLserver2005中创建视图时的exec有什么用
  • sqlserver中如何在用户定义的函数里使用exec

sql server 中EXEC的用法

exec函数族的作用为根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。

exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍保持原样,看上去还是旧的躯壳,却已经注入了新的灵魂。只有调用失败了,它们才会返回一个-1,从原程序的调用点接着往下执行。

扩展资料

使用exec函数族主要有两种情况:

1、当进程认为自己不能再为系统和用户做出任何贡献时,就可以调用exec函数族中的任意一个函数让自己重生。

2、如果一个进程想执行另一个程序,那么它就可以调用fork函数新建一个进程,然后调用exec函数族中的任意一个函数,这样看起来就像通过执行应用程序而产生了一个新进程(这种情况非常普遍)。

参考资料来源:百度百科-exec函数族

参考资料来源:百度百科-exec...

sql 中exec 的含义和用法

执行意思,如果你创建了一个存储过程名为Demo,而且里面就是简单查询create proc Demoasselect * from 表名执行上面语句,然后就创建了Demo如果你想执行Demo,就用exec Demo就直接执行了select语句,相当于编程语言中的调用函数

sql server中exec(赋给sql语句的变量)如何用变量保存值

好象有点明白了。假设你的存储过程有一个输入一个输出参数,并已经建立了这个存储过程,那你只要宣布两个变量分别为输入和输出 (比如如下语句):DECLARE @para_inINT,@para_out VARCHAR(100);DECLARE @sqlcmd varchar(500);SET @para_in=2;EXEC [你的存储过程] @para_in, @para_out;PRINT @para_out;你可以看到你的输出结果被打印出来。你还可以将@para_out拼到@sqlcmd中,然后执行;或做为另一存储过程的输入参数。SET @sqlcmd = ’PRINT ’’This isoutput parameter -’ + @para_out + ’’’’;EXEC (@sqlcmd);或EXEC [另一存储过程] @para_out;旦愿这回答了你的问题 :-)

SQL语言EXEC作用

修改表删除表,用的是update或者drop,这都是固定的sql语句的起始,比如ddl语句(create,drop,alter等),dml语句(insert ,delete,update,select),dcl语句等(commit,revoke,grant,rollback),这些语句都有固定的起始,看到这个语句sql解释器就知道你要干什么了。那么sp_help是什么?是固定的起始吗?明显不是?那么sp_help是什么,应该是一个过程或者包一类的东西,那么这个东西写在这里要干什么,明显是要执行,那么怎么执行这个包或者过程,用execute,简化写为exec。这里属于单独执行一个过程或者包,那么肯定要加exec执行,exec是语句固定提示符,告诉程序他的下一个动作是“执行”

SQL中exec的用法

一般exec(@s)代表执行一句动态sql。可参考以下例子,如代码:declare @s varchar(2000)declare @tablename varchar(20)set @tablename=’test’set @s=’select * from ’ + @tablename + ’’exec(@s)结果:注意:代码中倒数第二句的写法,也就是执行的动态sql语句,引用的动态名称需要用引号及加号。最后一句的动态sql也要用括号括起来。

sqlserver中exec和execute的区别

--一样的exec 是 execute的简写 ,没什么区别,就像admin是administrator的简写一样

SQLServer动态exec查询语句,返回查询变量

drop procedure tempPro;gocreate procedure tempProasdeclare @sql nvarchar(200), @user nvarchar(500), @tablename nvarchar(100)begin set @tablename=’t_stars’ set @sql=N’select @userOUT = stars_name from ’+@tablename+’ where stars_id=’’hk1006’’’; execute sp_executesql @sql, N’@userOUT varchar(30) output’, @userOUT=@user output; print @user; endgoexec tempPro;

SQL SERVER exec 语法问题

exec可以用来执行存储过程,和字符拼接的语句存储过程例子:exec proc_test @参数1,@参数2...@参数N字符拼接例子:exec(’select * from tb’)你可以照着例子分解一下你上面的语句(不过你给的语句好像有问题)

SQLserver2005中创建视图时的exec有什么用

显示视图/存储过程文本的,和创建视图没关系可以删掉如果非要加的话在exec前加一行go就不会报错了

sqlserver中如何在用户定义的函数里使用exec

这里我举个例子,假如有一个函数dbo.NumAdd用来计算加法,那它可能是这样的:DROP FUNCTION dbo.NumAddGOCREATE FUNCTION dbo.NumAdd( @A SMALLINT, @B SMALLINT)RETURNS INTASBEGIN DECLARE @Ret INT SET @Ret = ISNULL(@A,0) + ISNULL(@B,0) RETURN @RetEND你可以使用这样的方式调用函数并得到返回值:DECLARE @M INTSET @M = dbo.NumAdd(500,700)select @M现在,把这个函数修改成第一种使用存储过程的方式:DROP Procedure dbo.NumAdd1GOCREATE Procedure dbo.NumAdd1( @A SMALLINT, @B SMALLINT, @Ret INT OUTPUT)ASBEGIN SET @Ret = ISNULL(@A,0) + ISNULL(@B,0)ENDGO那么,你就可以通过下列的方法调用这个实际和函数dbo.NumAdd功能相同的存储过程:DECLARE @M1 INTEXEC dbo.NumAdd1 500,600,@M1 OUTPUTSELECT @M1这种方法是对标量函数较好的处理方法,而且,一个存储过程可以使用一个或者多个带有OUTPUT的参数来返回值。再看第二种方法修改为存储过程的方式:DROP Procedure dbo.NumAdd2GOCREATE Procedure dbo.NumAdd2( @A SMALLINT, @B SMALLINT)ASBEGIN DECLARE @Ret INT SET @Ret = ISNULL(@A,0) + ISNULL(@B,0) SELECT @RetENDGO这样,你就可以使用下面的方法来调用:DECLARE @M2 INTCREATE TABLE #Temp (Result INT)INSERT #Temp EXEC dbo.NumAdd2 800,600SELECT TOP 1 @M2 = Result FROM #TempDROP TABLE #TempSELECT @M2列出的这两种方法都是把函数改成存储过程的方法,而且在存储过程中可以使用EXEC、PRINT等函数中不能使用的内容。这个解释你明白了吗?


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: pavilion(pavilion是什么意思 )

下一篇: 天秤座是什么性格,天秤座的人到底是什么性格(优雅温和、善良仁慈、要求事事公平)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号