存在的错误,我想:SQL LIKE /地方使用INSERT语句
与上TBTRIGPMMCANC也TBPROPPAY所有id_payments的列表中创建一个临时表。
从此列表中将它们从TBPROPPAY移动到TBPROPPAYH。
然后从TBPROPPAY中删除它们。
这是我的sql我有一个插入语句问题。我想我需要像以前一样的SQL将行移动到tbproppayh为每个id_payment在临时表中,但我不知道如何编写它
错误是: E_US0AD8插入:目标列的数量必须等于目标 列出指定子查询中的元素。 (星期四7月18日9时31分23秒2013)
----Clean up for IN:035466
----Description : Create a temporary table with with a list of all id_payments that are on TBTRIGPMMCANC and also TBPROPPAY.
----------------------------------------------------------------------------------------------------------------------------
DECLARE GLOBAL TEMPORARY TABLE session.set_values AS
SELECT a.id_payment FROM TBTRIGPMMCANC a, TBPROPPAY b
WHERE a.id_payment = b.id_payment
ON COMMIT PRESERVE ROWS WITH NORECOVERY;\p\t\g
--View temporary table
SELECT * FROM session.set_values;\p\t\g
--------------------------------------------------------------
-- Description: Move list from TBPROPPAY to TBPROPPAYH
-------------------------------------------------------------
SELECT id_payment FROM session.set_values
WHERE EXISTS id_payment;\p\t\g
-- Insert into tbproppayh
-------------------------------------------------------------
Insert into tbproppayh
Select id_payment FROM TBTRIGPMMCANC a, TBPROPPAY b
WHERE a.id_payment = b.id_payment;\p\t\g
-------------------------------------------------------------
-- Description: DELETE list FROM tbproppay
-------------------------------------------------------------
Delete FROM tbproppay b WHERE id_payment IN (Select a.id_payment FROM TBTRIGPMMCANC a, TBPROPPAY b
WHERE a.id_payment = b.id_payment);\p\t\g
-------------------------------------------------------------
--Select from tbproppay & TBTRIGPMMCANC
-------------------------------------------------------------
SELECT a.id_payment FROM TBTRIGPMMCANC a, TBPROPPAY b
WHERE a.id_payment = b.id_payment;\p\t\g
-------------------------------------------------------------
插入到tbproppayh(id_payment)选择a.id_payment从TBTRIGPMMCANC a,TBPROPPAY b WHERE a.id_payment = b.id_payment。仍然无法正常工作在插入错误 – louise
上尝试插入值时在目标表中的现有密钥上添加条件:INSERT INTO ... SELECT .... AND NOT EXISTS(SELECT'X'FROM tbproppayh where condition关键) –