Sql server 在存储过程中插入

Sql server 在存储过程中插入,sql-server,sql-server-2008,stored-procedures,Sql Server,Sql Server 2008,Stored Procedures,我正在尝试在SQL Server中的存储过程中插入。当我写它时,我有一个错误,当我删除它时,它工作,为什么 我想写a的行是: INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#') 我想把它写在最后一行 你能帮我吗?用插页。改为选择方法: INSERT INTO @Resultado select 'CB'+'0596'+CAST(@aniomes AS CHAR(6))+

我正在尝试在SQL Server中的存储过程中插入。当我写它时,我有一个错误,当我删除它时,它工作,为什么

我想写a的行是:

INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#')
我想把它写在最后一行

你能帮我吗?

用插页。改为选择方法:

INSERT INTO @Resultado
    select 'CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)
最好总是在表中列出插入的列,即使只有一列。

使用char35进行插入

INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+char(35))

我似乎无法重现这个错误。。。这很好:

DECLARE @Resultado TABLE( 
test varchar(5000)
)
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST('123456' AS CHAR(6))+SPACE(518)+'#')
select * from @Resultado

可能是因为你没能在518空格前找到正确的位置吗?或者该列不可为NULL,变量@aniomes为NULL?

我删除了大量代码-如果只有一行有问题,请尽量减少代码。并始终包含您收到的错误消息。最好是一个我们可以复制的简短示例,即演示问题的3行存储过程。您会得到什么错误。还有,那条线的终点在哪里?我在任何地方都看不到它。试着插入字符35…Mens 8152,级别16,状态4,过程PA_uInformetransacciones,字符串或二进制的572行数据将被截断,这是错误的结果中的列是否大于531个字符?这是唯一可能变坏的事情