我将安排一个SQL Server代码,每天将HTML输出到电子邮件中,有时此表可能没有行。我仍然希望代码能够运行并发送电子邮件,但要说“无数据”或类似内容。
这可能吗?如果是这样,有人可以显示一些示例代码吗?我假设我需要更改代码的From位,即
CAST(( select td =col1,'', td=col2,''
from #TempTable1
Order by 1
For XML PATH ('tr'),TYPE
) AS NVARCHAR(MAX) ) +
等...
所以要澄清:我的问题是如何从语句执行“条件”,即如果#TempTable1有数据,则输入#TempTable1,如果没有,则说“无数据”。
感谢@SeanLange指出我的问题尚不清楚。
您可以在从表中获取数据之前检查表中是否包含数据。我会做这样的事情:
IF EXISTS(SELECT 1 FROM "YourTable")
BEGIN
SELECT * FROM "YourTable"
END ELSE BEGIN
SELECT 'No Data'
END
编辑:
DECLARE @temp NVARCHAR(MAX) = CAST(( select td =col1,'', td=col2,''
from #TempTable1
Order by 1
For XML PATH ('tr'),TYPE
) AS NVARCHAR(MAX) )
IF(LEN(@temp) = 0)
BEGIN
SELECT 'No Data'
END ELSE BEGIN
SELECT @temp
END