簡體   English   中英

Oracle引用主鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM