[英]Oracle Referencing Primary Key
父級的主鍵從序列customerNo = customerSeq.nextval獲得其值。 如何將該值作為外鍵插入子表?
插入帳戶值(accountSeq.nextval,'500',customerSeq.nextval,'S','O');
無法正常工作,並給我錯誤。
您可以使用currval
獲取最后生成的值。
insert into account
(account_id, some_col, customer_id, col3, col4)
values
(accountSeq.nextval,'500',customerSeq.currval,'S','O');
在插入表中顯式列出表的列是一種很好的編碼風格。 您也沒有顯示表定義,但不要將String文字用於數字'500'
是字符串, 500
是數字。
更多詳細信息在手冊中: http : //docs.oracle.com/cd/E11882_01/server.112/e26088/pseudocolumns002.htm#i1009336
當將記錄按順序插入表中時,可以使用“ returning”子句來檢索用於PL / SQL變量的值,然后將其用於子記錄。
insert into
my_table (
id,
col1,
...)
values (
my_table_seq.nextval,
'A',
...)
returning id
into my_package.my_table_id;
insert into
child_table (
id,
my_table_id,
...)
values (
child_table_seq.nextval,
my_package.my_table_id,
'B',
...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.