我有一个很大的问题,真的需要你的帮助!
我在表Table A
上有一个触发器,它会更新几行,最后我正在制作一个INSERT INTO
另一个表Table B
,其中包含表Table A
中的数据触发它。
一切都很好,只是我在DOCID
中有一个INT列Table B
,我无法填写INT
中的Table A (VERID)
列。如果我将NVARCHAR
变量插入到列DOCID
中,它就可以了。我还可以在NVARCHAR
列Table A
中插入INT
字段DOCID
并插入。但是INT
无法进入INT
。这是代码:
declare @stichwortid as varchar(50)
select @stichwortid= isnull(VERID,'') from inserted
INSERT INTO [dbo].[BAUFIN_KOSTENSTELLEN] (DOCID, DWKEYWORD) VALUES(@stichwortid, 'test')
同时尝试将@stiwchwortid
声明为INT
也不起作用。将其填入第二列DWKEYWORD
也没问题。
答案 0 :(得分:0)
如何使用insert . . . select
?
INSERT INTO [dbo].[BAUFIN_KOSTENSTELLEN] (DOCID, DWKEYWORD)
SELECT verid, 'test'
FROM inserted;
您编写的代码应该有效。尽管你的陈述不同,但最可能的罪魁祸首是两个表中的数据类型不同 - 这可能会导致其他类型的问题。
答案 1 :(得分:0)
如果DOCID是INT列,您可以尝试:
INSERT INTO [dbo].[BAUFIN_KOSTENSTELLEN] (DOCID, DWKEYWORD)
SELECT CAST (verid as INT), 'test'
FROM inserted;