SQL错误程序

时间:2016-02-03 15:09:24

标签: sql sql-server tsql

此代码有什么问题?

CREATE PROCEDURE Proc
( 
     @factura_id int, @produs_id int, @pret float, @cantitate int,@nr_ordine int
)
as
--declare @factura_id int, @produs_id int, @nr_ordine int, @pret float,  @cantitate int
begin
    if(((select COUNT (id_produs) from Produse where id_produs=@produs_id)=1))
        insert into FacturaProdus(id_factura,id_produs,pret,cantitate,nr_ordine) 
        values(@factura_id,@produs_id,@pret, CONCAT ('-',convert(float,@cantitate),@nr_ordine))
    else
    begin
        print 'hei'
    end
end

我无法找到解决方案。当我执行它时,它会给我:

  

第15行,第1行,第1行,第1行   关键字' Proc'附近的语法不正确   Msg 137,Level 15,State 2,Line 8
  必须声明标量变量" @ produs_id"。
  Msg 137,Level 15,State 2,Line 9
  必须声明标量变量" @ factura_id"。

怎么办?

1 个答案:

答案 0 :(得分:3)

SQL服务器中的

Procreserved word(我假设你是根据语法和错误消息使用它的。)

所以,如果你真的想创建具有这样名字的程序(我建议你选择另一个名字) - 将它括在方括号中:

CREATE PROCEDURE [Proc]
(
 .....