插入然后更新SQL的查询
是否可以有一个insert语句,完成后立即运行update语句插入然后更新SQL的查询,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,是否可以有一个insert语句,完成后立即运行update语句 truncate table table2; INSERT INTO table2 (name, value, ATY) SELECT t1.name, TRIM( BOTH '+' FROM REPLACE( '+' || t1.value || '+', '++', '+000+' ) ), t1.ATY FROM table1 t1; 以下是我的声明: 插入 tr
truncate table table2;
INSERT INTO table2 (name, value, ATY)
SELECT t1.name,
TRIM( BOTH '+' FROM REPLACE( '+' || t1.value || '+', '++', '+000+' ) ),
t1.ATY
FROM table1 t1;
以下是我的声明:
插入
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+' ) )
这可能吗?为什么不在一个语句中同时执行这两个操作
truncate table table2;
INSERT INTO table2 (name, value, ATY)
SELECT t1.name,
TRIM( BOTH '+' FROM REPLACE( '+' || t1.value || '+', '++', '+000+' ) ),
t1.ATY
FROM table1 t1;
注意:我假设您打算截断
表2
,而不是表1
。如果截断table1
,则insert
将不会执行任何操作,因为该表将为空。insert INTO table2(名称、值、ATY)选择table1.name,TRIM(替换中的两个“+”(“+”| | table1.value |“+”、“++”、“+000+”)),table1.ATY来自table1代码>@jarlh。。谢谢是的正确应该是表2被截断了。我最初尝试过这个,但由于某种原因出现了一个约束错误。但是你的答案是有效的谢谢