有个订单主表,结构为:
CREATE TABLE orders
(
ID INT NOT NULL IDENTITY(1,1)
CONSTRAINT PK_T1 PRIMARY KEY,
DATACOL VARCHAR(20) NOT NULL
CONSTRAINT CHK_T1 CHECK(DATACOL LIKE '[A-Za-Z]%')
);
---------------------------------------------------------------------------------------------------------
订单明细表,结构为:
CREATE TABLE orderDetails
(
ID INT NOT NULL,
DATA NVARCHAR(100) NULL
);
---------------------------------------
alter table orderDetails
add CONSTRAINT FK_T1 FOREIGN KEY(id)
REFERENCES orders(ID);
-------------------------------------------------------------------------------------------------------------
一、如果主表和明细表都填写数据后,保存单据:
在插入主表数据时,获取主表的ID,作为明细表的ID
DECLARE @ID INT;
INSERT INTO orders(DATACOL)
VALUES('ABCD');
SET @ID=SCOPE_IDENTITY()
INSERT INTO orderdetails(ID,DATA)
VALUES(@ID,NULL)
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
如果我生成单据时,第一次,只填写主表的信息,先保存了。
第二次,调出单据来编辑,生成单据,这时候,我怎么来获取主表的ID作为子表的ID呢??
4 个解决方案
#1
调出单据来编辑
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢
编辑的时候是update
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢
编辑的时候是update
#2
既然能把主表的数据调出来,为何就不能取到主表的ID呢???
#3
#4
瞎掰什么,主表出了,子表还找不到吗
#1
调出单据来编辑
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢
编辑的时候是update
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢
编辑的时候是update
#2
既然能把主表的数据调出来,为何就不能取到主表的ID呢???
#3
#4
瞎掰什么,主表出了,子表还找不到吗