我想通过更改几个列值将表中的一行复制到同一个表中。根据该行的形状,我必须将形状表中的行复制到具有新id的同一个表中。
我试过了:
public class Client
{
public string ClientName { get; set; }
public int DnoId { get; set; }
public string Dno { get; set; }
public string Dfull { get; set; }
public int DfullId { get; set; }
}
var objlist = from tblA in context.TableA
join tblB in context.TableB on tblA.lng_clientid equals tblB.lng_id
where tblA.int_deleted.Equals(0)
select new Client()
{
ClientName = tblA.str_client,
DnoId = tblA.lng_dnoid,
Dno = tblA.str_dno,
Dfull = tblA.str_dfull,
DfullId = tblA.lng_id
};
但它给了我一个错误
消息121,级别15,状态1,过程Sp_CopyAnnotation,第23行 INSERT语句的选择列表包含的项目多于插入列表。 SELECT值的数量必须与INSERT列的数量匹配。
而且我不想明白我出错的地方
答案 0 :(得分:1)
AssetVersionID
INSERT INTO AnnotationMain
(Text,
x,
y,
Shape,
Color,
z1,
JobID,
AssetID,
AssetVersionID, --Missing
UserID,
UserName,
Department,
AssetVersionID,
HideAnnotation)
SELECT Text,
x,
y,
Shape,
Color,
z1,
JobID,
AssetID,
AssetVersionID,
UserID,
UserName,
Department,
@NewAssetVersionID,
1
FROM AnnotationMain
WHERE AnnotationID = @AnnotationID;