对于以下要求,请提供INSERT INTO SELECT查询以进一步进行。I am new to SQL.
我需要从Table_A复制一行,并需要在同一表中插入同一行。但是,我需要修改复制行中的一些值。
TABLE_A:
FIRST_NAME | LAST_NAME | RAVI | KIRAN |
---|
可以这样使用语法:
INSERT INTO TABLE_A (FIRST_NAME, LAST_NAME)
SELECT 'KRISHNA', LAST_NAME
FROM TABLE_A
WHERE FIRST_NAME='RAVI'
AND LAST_NAME='KIRAN'
只需在第一行列出您想要插入的其他列,然后在SELECT
上INSERT INTO TABLE_A (FIRST_NAME, LAST_NAME, OTHER_COLs...)
SELECT 'KRISHNA', LAST_NAME, OTHER_COLs...
FROM TABLE_A
WHERE FIRST_NAME='RAVI'
AND LAST_NAME='KIRAN'
您也可以从其他表中获取值:
INSERT INTO TABLE_A (FIRST_NAME, LAST_NAME, OTHER_COLs...)
SELECT OTHER_FIRST_NAME, OTHER_LAST_LAST_NAME, OTHER_COLs...
FROM TABLE_B
WHERE Criteria for selecting from Table_B
似乎你不能使用子查询调用。nextval序列。为什么不直接调用:
INSERT INTO TABLE_A (FIRST_NAME, LAST_NAME)
SELECT SCHEMA.RULEKEY.NEXTVAL, LAST_NAME
FROM TABLE_A WHERE FIRST_NAME='RAVI' AND LAST_NAME='KIRAN'
不可否认,我不明白为什么你要在包含FIRST_NAME的字符列中插入一个数字。