我知道CTE后面必须跟着SELECT
、INSERT
、UPDATE
或DELETE
陈述式。
那么,我应该如何在我的过程中使用这种逻辑呢?
CREATE PROCEDURE st_exemple
AS
SET NOCOUNT ON
(...)
WITH CTE AS
(
SELECT
'ID COTA' = TABEL1.ID_COTA,
'NM CLIENT' = TABLE2.NM_CLIENT
FROM
(...)
WHERE
(...)
);
IF (SELECT COUNT(*) FROM CTE) = 0
BEGIN
SET @COMMENT = 'SELECT WTIHOUT DATA'
GOTO END_PROC
END;
ELSE
BEGIN
SET @COMMENT = 'SELECT WITH DATA';
GOTO END_PROC
END;
我想创建一个变量,用来观察过程执行时发生的情况,这样我就在另一个表中有了一个执行日志.
由于每天都会执行该过程以创建.txt,但不是每天都有where子句中的可用数据,因此我希望保留一个日志,以便BU不会认为这是一个错误
1条答案
按热度按时间xpcnnkqh1#
如何在后续IF语句中调用CTE
不能使用临时表,特别是当您需要可重用性或试图提高可读性时: