我试图在Redshift中创建查询,但是我在努力创建正确的逻辑或使其完全运行。
我有2个表TableA
和TableB
。
如果TableA
包含数据,则擦除TableB
并插入TableA
中的数据。
伪:
CASE WHEN
(SELECT COUNT(*) FROM TABLEA) > 0
THEN TRUNCATE TABLEB AND INSERT INTO TABLEB (SELECT * FROM TABLEA)
ELSE DO NOTHING
END
显然这行不通,所以我需要对IF
语句做些什么吗?:
IF EXISTS (SELECT * FROM TABLEA)
BEGIN
TRUNCATE TABLE TABLEB
INSERT INTO TABLEB (SELECT * FROM TABLEA)
END
ELSE
BEGIN
PRINT 'nothing in table'
END
答案 0 :(得分:1)
您需要使用存储过程。无法将具有副作用的查询嵌套在普通SQL查询中的其他查询中。