如何将表值参数中的值插入表
因为它现在不起作用。
这是最好的方法吗?
ALTER PROCEDURE [dbo].[SaveDomainObject]
@Fields dbo.TemplateFieldsAsSqlParameter READONLY
AS
BEGIN
INSERT INTO DomainObjectFields
VALUES (@UniqueKeyDomainObjectField, @Fields.FieldName, @Fields.FieldValue,@DateCreated, @DateUpdated, @Fields.AllowDuplicates)
END
编译器告诉我,我需要对标量变量@Fields进行daclere。
我该怎么做?
亲切的问候
答案 0 :(得分:1)
您应该将表值参数视为一个表,因此您只需通过表值参数中的SELECTING插入表中。 如果您有其他不在TVP中的字段,只需像往常一样将它们添加到SELECT中。
INSERT INTO DomainObjectFields(column list)
SELECT (column list)
FROM TableFieldsAsSQLParameter