当我尝试执行此查询时,我会收到错误:
必须声明标量变量
我做错了什么?
@username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)
as
begin
DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'routeinformatie'+' values(
@routenaam,@van,@naar,@bezoekadres,@geredenroute,@karakterrit,@toelichting)'
EXEC sp_executeSQL @sql,N',
@username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)
',@username@routenaam,@van,@naar,@bezoekadres,@geredenroute,@karakterrit,@toelichting
end
答案 0 :(得分:2)
您需要set
变量的值,如下所示:
DECLARE @sql NVARCHAR(MAX)
SET @sql = N'insert into '+@username+ N'routeinformatie'+ N' values(
@routenaam,@van,@naar,@bezoekadres,@geredenroute,@karakterrit,@toelichting)'
此外,如果这是完整的查询,那么您需要在开始时添加声明
DECLARE @username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)
答案 1 :(得分:2)
你忘了启动DECLARE子句,在最后一行你省略了前两个变量之间的逗号:
DECLARE
@username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)
as
begin
DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'routeinformatie'+' values(
@routenaam,@van,@naar,@bezoekadres,@geredenroute,@karakterrit,@toelichting)'
EXEC sp_executeSQL @sql,N',
@username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)
',@username, @routenaam,@van,@naar,@bezoekadres,@geredenroute,@karakterrit,@toelichting
end
答案 2 :(得分:1)
//Date
if($arrDate!=NULL){
$booking->setField('arrival_date', '07/17/2015');
}
//Time
if($arrTime!=NULL){
$booking->setField('arrival_time', '11:00:00');
}
$savedBooking = $booking->commit();
制作存储过程。当我想现在就说它: “必须声明标量变量”@ username @ routenaam“。”
答案 3 :(得分:0)
您必须将DECLARE语句与All变量一起使用
DECLARE @username varchar(50),
@routenaam varchar(50),
@van varchar(50),
@naar varchar(50),
@bezoekadres varchar(50),
@geredenroute varchar(50),
@karakterrit varchar(50),
@toelichting varchar(50)