我正在使用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
答案 0 :(得分:5)
DELETE * FROM Uporabniki
语法无效,因此永远不会创建Brisanje_uporabnika
。
使用
而是{p>DELETE FROM Uporabniki
。不确定如何提交此脚本,但运行时应该会看到以下错误。
Msg 102,Level 15,State 1,Procedure Brisanje_uporabnika,Line 9
'*'附近的语法不正确。