Sql 存储过程-将数据类型varchar转换为数字时出错
当运行一个简单的存储过程时,我会遇到这个错误,坦率地说,我不知道为什么 Msg 8114,16级,状态5,程序程序程序测试,第15行 将数据类型varchar转换为数字时出错 栏目: SI_ID是数字19,0 SI_COMPANYID是数字19,0 SI_LOGINID是VARCHAR100 知道为什么吗 这是存储过程:Sql 存储过程-将数据类型varchar转换为数字时出错,sql,sql-server,stored-procedures,sql-server-2008-r2,Sql,Sql Server,Stored Procedures,Sql Server 2008 R2,当运行一个简单的存储过程时,我会遇到这个错误,坦率地说,我不知道为什么 Msg 8114,16级,状态5,程序程序程序测试,第15行 将数据类型varchar转换为数字时出错 栏目: SI_ID是数字19,0 SI_COMPANYID是数字19,0 SI_LOGINID是VARCHAR100 知道为什么吗 这是存储过程: CREATE PROCEDURE [xxxxxx].[PROC_TEST] AS BEGIN SET NOCOUNT ON DECLARE
CREATE PROCEDURE [xxxxxx].[PROC_TEST]
AS
BEGIN
SET NOCOUNT ON
DECLARE
@id NUMERIC(19,0),
@login VARCHAR(100);
DECLARE user_cursor CURSOR <<----- Line 15
FOR
SELECT
SI_ID, SI_LOGINID
FROM SI_USER
WHERE SI_COMPANYID = 123
OPEN user_cursor
FETCH NEXT FROM user_cursor into @id, @login
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @id + ', ' + @login
FETCH NEXT FROM user_cursor into @id, @login
END
CLOSE user_cursor
DEALLOCATE user_cursor
END
SQL错误行引用不准确。 错误似乎是这一行:PRINT@id+,'++@login
请尝试打印CONVERTvarchar、@id++、'++@loginSQL错误行引用不准确。 错误似乎是这一行:PRINT@id+,'++@login
请尝试打印CONVERTvarchar、@id+'、'+@loginSI_COMPANYID列的类型是什么?@Parado SI_COMPANYID列的类型是数字19,0 SI_COMPANYID列的类型是什么?@Parado SI_COMPANYID列的类型是数字19,0谢谢,这确实是个问题。真不敢相信我在这样一件愚蠢的事情上浪费了几个小时,仅仅因为微软无法提供准确的错误信息。无论如何,谢谢你@帕拉多,别担心,我总是接受答案。只需再等3分钟就可以接受,但现在不行,系统会阻止太快接受答案。多谢,这确实是个问题。真不敢相信我在这样一件愚蠢的事情上浪费了几个小时,仅仅因为微软无法提供准确的错误信息。无论如何,谢谢你@帕拉多,别担心,我总是接受答案。只需再等3分钟就可以接受。现在无法接受,系统会阻止太快接受答案