惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园 - 【当耐特】
博客园 - 叶小钗
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
宝玉的分享
宝玉的分享
小众软件
小众软件
罗磊的独立博客
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog

博客园 - 烟雨客

Aspose.PDF跨平台问题解决 在aspx中写c# 在动态生成的HTML中执行JS AWS 2020 Innovate所有视频 the input stream is not valid binary formate.... when call remoting 用SSISl连接PostgrsSQL Ubuntu 16.04 TLS下安装dotnet异常处理 客户端不刷新 在公网上布署Web Api的时候,不能调用,返回404 在公网(internet)上建立website时不能用http访问 ClickOnce发布后不能安装 从JPG中获取缩略图 MaraDNS与DeadWood一起配置为本地机器提供小型化DNS服务 await, anync The requested page cannot be accessed because the related configuration data for the page is invalid 404 Not Find When using Owin with OAuth Socket服务端口长连接最多能支持多少? Json序列化 关于获得本机Mac Address的方法
sp_executesql 可動態傳入傳出參數
烟雨客 · 2020-01-10 · via 博客园 - 烟雨客

在做一個功能時,要求參數是動態傳入并且有參數可以動態傳出,字符串動態組成的sql以前只是知道 用Execute去執行,今 天發現sp_executesql這個是可以達成這個目 的。

ALTER PROCEDURE [dbo].[SLMFormateExportCenterFields]
-- Add the parameters for the stored procedure here
@TMP varchar(max),
@fields nvarchar(max) output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

--DECLARE @TMP VARCHAR(MAX)
--SET @TMP = 'sanow,orgFeeCode,orgName,FRCode,FRName,payDatetime,humanCategory,EmpCount,SSS47,SSS91,payYear,payMonth,orgSystemID,refno1,refno2,salaryType'

DECLARE @sqlDy nvarchar(max)

SET @fields = ''
SET @sqlDy = '
DECLARE @ITEMNO VARCHAR(20), @ITEMNAME VARCHAR(50)

DECLARE A CURSOR FOR
SELECT itemno, itemname FROM eHR3.dbo.E9SLMUploadCenterItems WHERE forexport = 1 ORDER BY sort1

OPEN A
FETCH NEXT FROM A
INTO @ITEMNO, @ITEMNAME

WHILE @@FETCH_STATUS = 0
BEGIN
IF CHARINDEX(@ITEMNO, @TMP,0) > 0
BEGIN
SET @fields = @fields + @ITEMNO + '' AS '' + ''''''''+ @ITEMNAME + '''''''' + '',''
END

FETCH NEXT FROM A
INTO @ITEMNO, @ITEMNAME
END
CLOSE A
DEALLOCATE A'
exec sp_executesql @sqlDy, N'@TMP varchar(max),@fields nvarchar(max) output', @TMP, @fields output
SET @fields = SUBSTRING(@fields,0, LEN(@fields))

RETURN
END