我有这个存储过程无法转换为varchar值在存储过程中诠释在SQL Server
create procedure [dbo].[CreateNewTicket]
(@Practice_Id as varchar(40),
)
/* insert some rows into TICKET table */
As Begin
DECLARE @prctid as int
SELECT @prctid = 'select id from PRACTICE_DETAIL where Practice_Name_Description = ' + @Practice_Id + ';'
end
GO
但每当我从我的C#传递值存储过程就抛出错误。转换将varchar值 '从 PRACTICE_DETAIL其中Practice_Name_Description = Bankson PT-丹尼尔 (DBA)选择ID;' 时
转换失败到数据类型int。
任何人都可以解释我做错了什么?
变化听起来像是'id'是'VARCHAR'。该列被定义为什么数据类型? – Tim
没有我的Id列是Int只有 –
那么你为什么要尝试给它分配一个'VARCHAR'? ''从PRACTICE_DETAIL中选择ID,其中Practice_Nanme_Description ='+ @Practice_Id +';''是'VARCHAR',而不是SQL语句。 – Tim