查询哪些插入然后更新SQL

时间:2017-06-07 11:05:04

标签: sql oracle oracle11g

是否可以使用insert语句,一旦完成,就运行更新语句?

所以这是我的陈述:

插入

truncate table table1;
INSERT INTO table2 (name,value, ATY)
SELECT table1.name,table1.Value,table1.ATY
FROM table1;

一旦完成,我需要运行以下更新:

更新

update table2
   SET value=TRIM( BOTH '+' FROM REPLACE( '+' || value || '+', '++', '+000+' ) )

这可能吗?

1 个答案:

答案 0 :(得分:0)

为什么不在一个陈述中同时做这两件事?

truncate table table2;

INSERT INTO table2 (name, value, ATY)
    SELECT t1.name,
           TRIM( BOTH '+' FROM REPLACE( '+' || t1.value || '+', '++', '+000+' ) ),
           t1.ATY
    FROM table1 t1;

注意:我假设您打算截断table2,而不是table1。如果您截断table1,那么insert将无法执行任何操作,因为该表将为空。