插入的存储过程

时间:2015-06-08 12:22:46

标签: sql-server stored-procedures datatable syntax-error sql-insert

我在我的存储过程中使用datatable作为参数,我试图在其中一个数据库表中插入一些列,但我不知道正确的语法。

这就是我试过的

ALTER PROCEDURE [dbo].[spInsertInvoice]
    @tblInvoice [TypeExcel] READONLY
AS
BEGIN
    SET NOCOUNT ON;

    INSERT into Invoice(InvoiceNo, InvoiceDate, CustomerName,[Subject], Reference)
    VALUES (SELECT Template, Invoice_No, InvoiceDate, Cust_Name,[Subject], Reference FROM @tblInvoice)
END

请指导我如何在表格中正确插入值。

1 个答案:

答案 0 :(得分:3)

您需要采用select而不是值的insert形式:

insert into theTable (col1, col2, ...)
select col1, col2, ...
from ...
where...

选择的所有功能都可用(列别名,分组,联接,子查询......)。