ALTER PROCEDURE [dbo].[usp_SaveUserCustomerXRef]
@Username varchar(48),
@LinkID varchar(48)
AS
DELETE FROM UserCustomerX WHERE UserName=@UserName AND LinkID=@LID
INSERT INTO UserCustomerX(Username, LID)
VALUES (@Username, @LID)
执行As -
EXEC usp_SaveUserCustomerXRef'10026:ttmm19','2H0'; //已执行+已插入
表UserCustomerX中的列的类型为Varchar.My问题与案例号:2为什么它插入值虽然没有单引号。但是案例编号:1给出了语法错误。案例3和4是正常条件。案例2为何有效?没有引号?
答案 0 :(得分:1)
您的第二个参数@LinkID是一个varchar,因此您在执行存储过程时最好强制推广使用引号。
正如Nicarus所说,它可能是一个隐含的数字转换,会引发语法错误。