【发布时间】:2019-12-22 11:02:07
【问题描述】:
我有三张桌子。 table1 用于插入数据,table2、table3 用于选择数据。
table1:
int id,
varchar name,
varchar gender,
varchar category,
table2:
int id,
varchar gender,
table3:
int id,
varchar category,
根据这些表,我使用的存储过程如下:
Create procedure ABC
(
@id varchar(10),
@name varchar(11),
@gender varchar(10),
@category varchar(10)
)
As
begin
Insert into table1(id, name, gender, category) select @id, @name, g.id, c.id from gender g, category c where g.gender=@gender and c.category=@category
end
现在,如果性别或类别为空,则使用此选项,则不会插入数据。请告诉我哪里错了,并告诉最佳查询使用选择查询插入数据。请帮我解决问题。谢谢
【问题讨论】:
-
你现在想在这个表中插入你的gender.id 如果gender 是空的那么你怎么能得到这个id,你的预期输出是什么。
-
有效地防止插入不正确或丢失的数据。如果您需要在没有这种完整性检查的情况下插入数据,只需直接插入表中即可。
标签: sql sql-server stored-procedures