ソース テーブルと宛先テーブルがこのプロファイルに適合する場合:
- 宛先テーブルの列がソース テーブルの列と同じであり、
- 新しい宛先列は最後にあります
...次に、次のようなことができます。
INSERT INTO dest_table
SELECT Source_Table.*, new_value
FROM Source_Table
WHERE Source_Table.PKValue = cursor.PKValue
カーソルが宛先テーブルに似ている場合は、次のようなものが機能する可能性がありますが、テストしていないことに注意してください。
CREATE PROCEDURE whatever IS
destRow dest_table%ROWTYPE;
CURSOR fromSourceTable IS
SELECT <your existing select list>, NULL AS new_value
FROM <the rest of your cursor query>;
BEGIN
FOR destRow IN fromSourceTable LOOP
destRow.new_value = <the split date>;
INSERT INTO dest_table VALUES destRow;
END LOOP;
END whatever;
私は手足で出かけNULL AS new_value
ます。問題がある場合はCAST(NULL AS DATE) AS new_value
代わりに試してください。それでも問題がある場合は、次のようなものを試してくださいSYSDATE AS new_value
。繰り返しますが、これはテストされていませんが、有望だと思われ、実装に問題がある場合は、喜んでテストします。