问题描述
对于我的项目,我选择了范围较小的在线食品订购服务。我已经完成了,但我想进一步改进它(它只会通过查询而不是 GUI 运行)。
这是我想要改进的 2 个表
CREATE TABLE OrderPlaced
(
OrderId bigint IDENTITY(1,1) PRIMARY KEY,//primary key
PlacedAt time,PlacedOn date DEFAULT GETDATE(),discount int DEFAULT 0,Total money DEFAULT 0,)
ALTER TABLE OrderPlaced
ADD CONSTRAINT df_time
DEFAULT CONVERT(varchar(10),GETDATE(),108) FOR PlacedAt;
上表是自动生成主键的主表之一,表中没有手动插入值,我插入默认值是生成的键,当前日期和时间,0表示总和折扣,如果有折扣,稍后更新。
下面显示的表格是明细表,在这里您输入所有所需的产品及其数量,它会在插入时计算每个单独项目的小计,插入后触发器会在 orderplaced 表中更新它,然后在更新后在下订单表中的折扣值是通过触发器计算的。
CREATE TABLE Cart_t
(
CustomerId bigint NOT NULL,MenuId bigint NOT NULL,OrderId bigint NOT NULL,Quantity int NOT NULL,Price money NOT NULL,SubTotal AS (Quantity * Price) PERSISTED
)
这是我想要改进的地方。为了让这个系统使用输入的 OrderId 记录必须存在于 orderplaced 表中,否则在插入购物车时它会给出一个错误,指出缺少一个主键。所以我想要的是一种让计算机在购物车中插入新的 OrderId 时自动插入默认记录的方法。我猜你需要一个而不是插入触发器,但我需要一些关于如何使用它的指导。
另外,英语不是我的母语,请用简单的语言回答。
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)