The*_*ook 1 sql sql-server stored-procedures sql-server-2008-r2
运行一个简单的存储过程时,我收到此错误,坦率地说,我不知道为什么.
消息8114,级别16,状态5,过程PROC_TEST,行15
错误将数据类型varchar转换为数字.
列:
SI_ID 是 NUMERIC(19,0)SI_COMPANYID 是 NUMERIC(19,0) SI_LOGINID 是 VARCHAR(100)知道为什么吗?
这是存储过程:
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
Run Code Online (Sandbox Code Playgroud)
SQL错误行引用不准确.错误似乎是这一行:PRINT @id + ', ' + @login
尝试 PRINT CONVERT(varchar, @id) + ', ' + @login
| 归档时间: |
|
| 查看次数: |
3515 次 |
| 最近记录: |