这是使用动态Sql的人都会碰到这样的问题,需要从动态执行的sql中返回值,下面给一个简单的实现例子。
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = 'ValueFromSql')
DROP PROC ValueFromSql
GO
create proc ValueFromSql
as begin
declare @value varchar(100)
exec sp_executesql N'select @value=''From Sql'' ',N'@value varchar(100) out ',@value out
print @value
end
执行结果为; From Sql
如果想把sql语句当成变量传入,定义应该如下,注意@sql的类型应该是nvarchar
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = 'ValueFromSql')
DROP PROC ValueFromSql
GO
create proc ValueFromSql
as begin
declare @value varchar(100)
declare @sql nvarchar(4000)
set @sql='select @value=''From Sql'' '
exec sp_executesql @sql,N'@value varchar(100) out ',@value out
print @value
end
分享到:
相关推荐
动态SQL 并且把返回的值赋给变量,sp_executesql,动态sql语句基本语法
有的时候检测sql更新前端页面,比如这个人有没有优惠券,有没有购物车,有没有其他设置,后端就会有多张表的读取,返回的东西有和没有,逻辑上的if else多,复杂,代码量还多,就写了个动态的判断然后返回。...
本篇文章是对mysql存储过程在动态SQL内获取返回值进行了详细的分析介绍,需要的朋友参考下
创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ...SET @rowcount=@@rowcount
包括参数传递,接收存储过程返回值,存储过程遇错误继续执行及停止执行
根据动态链接库的提示,传入不同的参数,就可以调用生成SQL
执行带回参动态SQL的带回参存储过程 调用多个参数(包含回参)的存储过程 在存储过程中执行带有回参的动态sql 本人秉承“知识只有通过共享才能扩展”的思想 郑重承诺:纯属原创 欢迎交流
一套学员量话管理 内涵数据库存储过程的详细使用 和返回值的接受 存储过程的的细致使用 给你打开思路 对每个对象有细致的划分
Mssql 存储过程 返回值Return 与output 区别与应用,示例说明
SQLSERVER数据库中存储BLOB类型数据,在线等现在公司要求用PB6.5+SQLser
Spring整合MyBatis完整实例 最新 +详细注释 标准的MVC模式 包含详细注释
delphi如何调用sql存储过程,并获取结果 adostoredproc1.Close; adostoredproc1.ProcedureName:='sp_thchl'; adostoredproc1.Parameters.Clear; adostoredproc1.Parameters.CreateParameter('out',ftInteger,...
有返回值SQL Server存储过程的一个调用方法.pdf
C++对SQLServer操作的可直接使用类,包括打开数据库,对数据库进行操作,获取数据等结合sql对数据库的全部操作,ODBC操作数据库
在这种模式下,用户是没有使用SQL语句调试的功能的,也即不能使用SQL sever提供的查询分析器功能!共同加油!!!
如果学习过高级语言比如java和c语言等,此时你要是获取一个函数的返回值,直接在函数里面写上return即可,然后在函数执行时将返回结果赋值给某个变量即可。但是在shell脚本中限制较多,因此如果我们想实现这样的功能...
3、EXEC 执行纯动态SQL,执行时可能无法使用预编译的执行计划,关键是不安全,可以导致 SQL 注入 ,而 SP_EXECUTESQL 执行参数化动态 SQL ,执行时能使用预编译的执行计划,而且保存存储过程时就可以确定可以使用的预...