【发布时间】:2014-08-31 02:19:37
【问题描述】:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
CREATE TABLE ORDERS (
ID INT NOT NULL,
DATE DATETIME,
CUSTOMER_ID INT references CUSTOMERS(ID),
AMOUNT VARCHAR (255),
PRIMARY KEY (ID)
);
我想一次将数据插入两个表中,即将表CUSTOMERS中的ID插入表Customer_ID中的Customer_IDORDERS。
请帮帮我!
【问题讨论】:
-
1) 您可以针对插入客户表创建触发器。每当插入发生在客户表中时,触发器就会发生,它将选择最后插入的记录主键(customer_ID)并在第二个表中插入。 2)创建一个存储过程,在插入客户值后返回customer_id,之后您可以获得customer_id并进行另一个db调用以在订单表中插入enteries。
-
你能告诉我们你是否使用 ado.net、EF、LinqToSql 等
-
使用最大值(customer_id)
-
@Sathish,如果其他人同时也插入到表中,这可能会遇到问题,不是吗?也许交易可以在这里有所帮助?我认为 scope_identity 会更好 - msdn.microsoft.com/en-us/library/ms190315.aspx