【发布时间】:2018-08-27 00:18:04
【问题描述】:
表employeeAccount:
CREATE TABLE employeeAccount
(
employAccID NUMBER(2),
emplyUsername VARCHAR(20),
emplyFirstName VARCHAR(20),
emplyLastName VARCHAR(20),
)
INSERT INTO employeeAccount(employAccID ,emplyUsername ) VALUES (1,'TestAccount1')
INSERT INTO employeeAccount(employAccID ,emplyUsername ) VALUES (2,'TestAccount2')
表JobRole:
CREATE TABLE Jobrole
(
jobNo NUMBER(2),
jobName VARCHAR(20),
)
INSERT INTO Jobrole(jobNo ,jobName) VALUES (001,'Admin')
INSERT INTO Jobrole(jobNo ,jobName) VALUES (002,'CEO')
这是我的employeeJob 代码:
CREATE TABLE employeeJob
(
empid NUMBER(2),
empjob NUMBER(2),
CONSTRAINT pk_employeeJob PRIMARY KEY(empid,empjob),
CONSTRAINT fk_empassignjob1 FOREIGN KEY(empid) REFERENCES employeeAccount(employAccID),
CONSTRAINT fk_empassignjob2 FOREIGN KEY(empjob) REFERENCES Jobrole(jobNo)
)
下面是插入查询:
INSERT INTO employeeJob(empid,empjob)
VALUES (1,'001')
知道如何让它自动从employeeAccount 表中获取emplyFirstName、emplyLastName 等所有数据并插入到employeeJob。我应该如何做到这一点以使其自动插入存在于 employeeAccount 重复到 employeeJob 表的其他数据?
【问题讨论】:
-
您使用的是哪个DBMS? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签
postgresql,oracle,db2,sql-server, ... -
创建一个接收所有数据的过程。如果不存在,则在过程中添加新的工作信息,如果不存在则添加新帐户,如果不存在则添加工作与人员之间的新关系。然后,您只需要使用每个帐户数据调用该过程即可!
-
我正在使用 myORA ,抱歉没有在这篇文章中插入信息
-
按照您的要求复制数据并不是您应该如何在 RDBMS 中操作数据。插入后,查看包含员工详细信息的工作是一个查询操作,它连接这些表以获取信息。您不想拥有数据的第二个副本。想象一下,如果您必须跟进名称的更新会发生什么。
标签: sql oracle sql-insert create-table