如何将数据插入到有外键的表中

How to insert data into tables that have foreign keys

SQL> desc invoices
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 INVOICE_ID                                NOT NULL NUMBER(6)
 COMPANY_ID                                         NUMBER(6)
 STUDENT_ID                                         NUMBER(6)
 BILLING_DATE                                       DATE

SQL>

我想在此 table 中插入一些样本数据。 company_idstudent_id 是外键。这就是我要输入的内容:

INSERT INTO invoices VALUES (SEQ_INVOICE.NEXTVAL,[what1],[what2],SYSDATE);

我不知道应该在 what1 和 what2 中放什么

SQL> desc companies
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 COMPANY_ID                                NOT NULL NUMBER(6)
 COMPANY_NAME                                       VARCHAR2(30)
 ADDRESS                                            VARCHAR2(128)
 CONTACT_NO                                         VARCHAR2(11)
 NO_OF_EMP                                          NUMBER(10)

SQL>

SQL> desc students
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 STUDENT_ID                                NOT NULL NUMBER(6)
 ST_FNAME                                           VARCHAR2(16)
 ST_SNAME                                           VARCHAR2(16)
 ADDRESS                                            VARCHAR2(128)
 DOB                                                DATE

SQL>

您需要先在"companies"中输入公司,在"students"中输入学生。然后将这些 ID 用于 [what1] 和 [what2]

[what1] 是 COMPANY_ID 的 ID [what2] 是 STUDENT_ID 的 ID 如果 table Student 和 Company 为空,则必须在 Insert

之前将记录插入到两个 tables

您必须输入来自 students table 的现有 STUDENT_ID 和来自 compaies table 的现有 COMPANY_ID 到发票。 假设您有 next

这样的数据
COMPANY_ID     COMPANY_NAME     ADDRESS     CONTACT_NO     NO_OF_EMP
-----------    ------------     --------    ----------     ---------
1              Blah LLC         blah st.    123456         100
2              My Company       My Street   987654321      50

STUDENT_ID     ST_FNAME     ST_SNAME     ADDRESS     DOB
-----------    ---------    ---------    --------    ------------
11             Jim          Carrey       ....        1900.25.04
22             Jack         Sparrow      Carrib st.  1700.30.08

然后您可以使用 12 作为 COMPANY_ID(在您的查询 [what1] 中)和 1122 作为 STUDENT_ID(在您的查询中 [what2])