我的存儲過程有點問題。它給我這個錯誤:SQL Server存儲過程 - 轉換錯誤
Conversion failed when converting the varchar value 'Cluj-Napoca' to data type int.
這是我的代碼:
CREATE PROCEDURE UjVasarlas
@JID int,
@SZID int,
@Nev varchar(30),
@Cim varchar(30),
@Darab int,
@Datum varchar(30)
AS
SET NOCOUNT ON;
DECLARE @maxId int;
SET @maxId = (SELECT MAX(VevoID) FROM Vevo);
iF EXISTS (SELECT * FROM Vevo WHERE Vevo.VevoNev = @Nev)
begin
INSERT INTO Vasarlas VALUES (@maxId+1, @JID, @SZID, @Darab, @Datum)
end
else
INSERT INTO Vevo VALUES (@maxId+1, @Nev, @Cim, 1)
INSERT INTO Vasarlas VALUES (@maxId+1, @JID, @SZID, @Darab, @Datum)
GO
EXEC UjVasarlas 2, 2, 'Your Name', 'Your City', 2, '2013-01-22'
如果它幫助我可以告訴你它是什麼,但我並沒有想與浪費時間......誰能幫忙? ... THX預期;)
PS:
現在它還有另一個問題:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__Vasarlas__VevoID__47E69B3D". The conflict occurred in database "master", table "dbo.Vevo", column 'VevoID'.
兩個表如下所示:
Vasarlas
(VevoID, JatekID, SzallitoID, Darab, Datum
)Vevo
(VevoID, VevoNev, OrszagID, Cim
)
請不要將日期存儲爲字符串(因爲您似乎在這裏使用第6個參數)。將字符串轉換爲日期(時間)有導致錯誤的傾向。 SQL Server具有用於存儲日期和時間的特定數據類型。 –