【发布时间】:2014-03-12 01:26:02
【问题描述】:
我有五个名为 guest、orders、order_details、food 和 employees 的表。它们的特点如下:
create table guest
(
guest_id int primary key identity(1,1),
guest_fname nvarchar(50),
national_id int,
mobile nvarchar(50),
nationality_id int
constraint c15
foreign key(nationality_id) references nationality(nationality_id)
)
create table employees
(
emp_id int primary key ,
emp_fname nvarchar(50),
constraint c1
--foreign key(mgr_id) references employees(emp_id),
foreign key(super_id) references employees(emp_id),
)
go
create table food
(
food_id int primary key identity(1,1),
food_name nvarchar(50),
food_price money,
food_desc nvarchar(200),
cat_id int
constraint c5
foreign key(cat_id) references food_categories(cat_id)
)
go
create table orders
(
order_id int primary key identity(1,1),
order_date datetime,
total float,
guest_id int,
emp_id int,
is_paid bit
constraint c6
foreign key(guest_id) references guest(guest_id),
foreign key(emp_id) references employees(emp_id)
)
go
create table order_details
(
order_id int,
food_id int,
price money,
qty int
constraint c7
primary key(order_id,food_id),
foreign key(order_id) references orders(order_id),
foreign key(food_id) references food(food_id)
)
Go
orders 和 order_details 之间存在一对多的关系。
我想通过存储过程将单行插入orders,并将多行插入order_details。请帮帮我!
请给我一个存储过程并解释它的算法,为我指明正确的方向。
【问题讨论】:
-
哪个 SQL 版本?如果 2008+ 你可以使用Table-valued parameters
-
您的问题解决了吗?
标签: sql sql-server database tsql