我想插入3个表中的数据,以合并3个表中的某些属性。
我已经创建了一个存储过程,但是无法执行该存储过程。有什么想法吗?
create procedure InsertMultiplevalue
(@startDate datetime,
@endDate datetime,
@startTime datetime,
@endTime datetime,
@quantity int,
@name varchar(100),
@type varchar(200),
@price decimal(6,2) )
as
begin
insert into Attraction
values(@name)
declare @orgEmail varchar(50)
insert into TicketType
values(@quantity, @price, @type)
declare @ticketID int
insert into ItemBooking
values(@startDate, @startTime, @endDate, @endTime)
declare @ItemBookingID int = @@identity
end
我收到此错误:
信息213,级别16,状态1,过程InsertMultiplevalue,第14行[批处理开始第0行]
列名或提供的值数与表定义不匹配。
答案 0 :(得分:0)
确保您的插入语句“值”与将插入其中的表匹配。否则,您可能试图插入太多或非常少的值。 我建议先查看一下如何定义表,然后准备插入语句
答案 1 :(得分:-1)
在插入表时,如果不应该在其中提供列名(不包括身份列),则必须插入所有列值
insert into Attraction
(
column names here
Not null column names must be mandatory to insert data to table
)
select
column name values