这是我想要做的事情。
我试图将具有不同列的某个表中的值插入到另一个表中。我得到上述值的第一个表的名称是dbtable1.dbo.patient,而我插入的另一个表是dbtable2.dbo.clients。 两者都有id作为他们的主键。但是,dbtable2.dbo.patient中的大多数id都具有NULL值,这与第二个表的id相反,后者具有自动递增的id值。所以,我确实将null的行更改为0。 现在,我已准备好运行此语法。
INSERT INTO dbtable2.dbo.clients
(
cid ,
lname ,
fname ,
mname ,
ctype ,
cadd ,
cpno
)
SELECT recid ,
lname ,
fname ,
midname ,
type ,
address ,
celno
FROM dbtable1.dbo.patient
示例语法基于两个数据库的实际设计。
但是,我继续发出此错误消息指示
服务器:消息8152,级别16,状态2,行1 字符串或二进制数据将被截断。 声明已经终止。
我怀疑也许我遇到此错误的原因是因为我正在尝试将值传输到具有ID自动递增列的表。 嗯,这是我自己的想法。或者也许可能有另一个原因导致此错误触发。 比如,我将第一个表ID的值更改为0并且因为它违反了主键插入规则,因此这个错误已经弹出。
我相信如果我可以使用一种语法来增加recid的值,因为我正在运行插入到cid中,这个错误将不会出现,我可能会为运行相同的表达式做一些较少的工作每一行。
你们想的是什么?