【发布时间】:2018-02-20 12:36:23
【问题描述】:
我正在运行SQL Server 2012,我需要将T-SQL 查询转换为Stored Procedure。我的目标是运行SQL 作业,该作业将每天执行此Stored Procedure。
我的T-SQL 查询如下:
DECLARE @Body NVARCHAR(MAX),
@TableHead VARCHAR(1000),
@TableTail VARCHAR(1000)
SET @TableTail = '</table></body></html>' ;
SET @TableHead = '<html><head>' + '<style>'
+ 'td {border: solid black;border-width: 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font: 11px arial} '
+ '</style>' + '</head>' + '<body>' + 'Report generated on : '
+ CONVERT(VARCHAR(50), GETDATE(), 106)
+ ' <br> <table cellpadding=0 cellspacing=0 border=0>'
+ '<tr> <td bgcolor=#E6E6FA><b>StayYear</b></td>'
+ '<td bgcolor=#E6E6FA><b>Market</b></td>'
+ '<td bgcolor=#E6E6FA><b>Jan</b></td>'
+ '<td bgcolor=#E6E6FA><b>Feb</b></td>'
+ '<td bgcolor=#E6E6FA><b>Mar</b></td>'
+ '<td bgcolor=#E6E6FA><b>Apr</b></td>'
+ '<td bgcolor=#E6E6FA><b>May</b></td>'
+ '<td bgcolor=#E6E6FA><b>Jun</b></td>'
+ '<td bgcolor=#E6E6FA><b>Jul</b></td>'
+ '<td bgcolor=#E6E6FA><b>Aug</b></td>'
+ '<td bgcolor=#E6E6FA><b>Sep</b></td>'
+ '<td bgcolor=#E6E6FA><b>Oct</b></td>'
+ '<td bgcolor=#E6E6FA><b>Nov</b></td>'
+ '<td bgcolor=#E6E6FA><b>Dec</b></td>';
SET @Body = ( SELECT *
FROM View1
FOR XML RAW('tr'),
ELEMENTS
)
SELECT @Body = @TableHead + ISNULL(@Body, '') + @TableTail
将上述转换为Stored Procedure的步骤是什么?
【问题讨论】:
-
输入参数是什么?并且输出是表格的形式?
-
您是说没有找到有关如何在 MS SQL SERVER 中创建存储过程的信息?
-
这不是我在 SQL 中会做的事情。这是需要在表示层上完成的事情。您的 SQL 只需要检索数据。
-
鉴于最后一步是设置变量,因此无论您如何包装,您的代码都不会做任何有用的事情。
-
@ZoharPeled 你能详细说明一下吗?
标签: sql sql-server tsql stored-procedures