找不到SQL Server存储过程

时间:2011-12-26 23:15:35

标签: sql sql-server

我正在使用C#创建一个项目,并且已连接到我的SQL Server 2008数据库。我创建了一个程序,但我一直收到错误,因为它无法找到。有趣的是,我在同一个脚本中创建了2个以上的程序,一切正常。

首先,我阅读脚本并执行所有代码,并且传递得非常好,然后创建了一个表和2个程序,最后我来到我的上一个程序,但它仍然给我错误。我会提供一些代码,以便你们可以看到我做错了什么。

IF object_id('Uporabniki') IS NULL
CREATE TABLE Uporabniki
    (
        id_uporabnika int,
        ime_uporabnika nvarchar(200) not NULL,
        skupina_uporabnika nvarchar(200) not NULL,
        PRIMARY KEY  (id_uporabnika)
    )
GO

IF object_id('Dodaj_uporabnika') IS NULL
EXEC sp_executesql N'
CREATE PROCEDURE Dodaj_uporabnika
    -- Add the parameters for the stored procedure here
    @ime_uporabnika nvarchar(200),
    @skupina_uporabnika nvarchar(200)

AS
BEGIN
    DECLARE @id_konec INT
        SET @id_konec=(SELECT MAX(id_uporabnika) FROM Uporabniki);
        IF(@id_konec IS NULL)
            BEGIN
                SET @id_konec= 1
                insert into Uporabniki (id_uporabnika,ime_uporabnika, skupina_uporabnika) values (@id_konec, @ime_uporabnika,@skupina_uporabnika);
            END
        ELSE
        BEGIN
            insert into Uporabniki (id_uporabnika,ime_uporabnika, skupina_uporabnika) values (@id_konec + 1, @ime_uporabnika,@skupina_uporabnika);
        END
END'
GO

IF object_id('Spremeni_uporabnika') IS NULL

EXEC sp_executesql N'
CREATE PROCEDURE Spremeni_uporabnika
    -- Add the parameters for the stored procedure here
    @stari_id int,
    @novo_ime_uporabnika nvarchar(200),
    @nova_skupina_uporabnika nvarchar(200)

AS
BEGIN
    BEGIN
        UPDATE Uporabniki SET ime_uporabnika=@novo_ime_uporabnika,skupina_uporabnika=@nova_skupina_uporabnika WHERE @stari_id=id_uporabnika;
    END
END'
GO

IF object_id('Brisanje_uporabnika') IS NULL

EXEC sp_executesql N'
CREATE PROCEDURE Brisanje_uporabnika
    -- Add the parameters for the stored procedure here
    @id_uporabnika int

AS
BEGIN
    BEGIN
        DELETE * FROM Uporabniki WHERE @id_uporabnika = id_uporabnika;
    END
END'
GO

1 个答案:

答案 0 :(得分:5)

DELETE * FROM Uporabniki语法无效,因此永远不会创建Brisanje_uporabnika

使用

而是{p> DELETE FROM Uporabniki。不确定如何提交此脚本,但运行时应该会看到以下错误。

  

Msg 102,Level 15,State 1,Procedure Brisanje_uporabnika,Line 9

     

'*'附近的语法不正确。