繁体   English   中英

SQL Server 2008中的存储过程中的错误

[英]Error in stored procedure in SQL Server 2008

我创建了一个名为detalleList的类型,需要在存储过程中使用它,但出现错误。 我究竟做错了什么?

这是detalleList类型

CREATE TYPE [dbo].[detalleList] 
AS TABLE ([idCcompVtaD] [bigint] NULL,
          [idProducto] [bigint] NULL,
          [cantidad] [int] NULL,
          [precio] [decimal](18, 2) NULL,
          [precioTotal] [decimal](18, 2) NULL)

CREATE PROCEDURE [dbo].[SP_GrabarFactura]
    @List as dbo.detalleList readonly,
    @Fecha datetime,
    @total decimal(18,2),
    @notas varchar(200),
    @idUsuario bigint,
    @idCliente bigint,
    @new_identity INT = NULL OUTPUT
AS
BEGIN
    SET NOCOUNT ON;

    INSERT INTO ccompvta (fecha, total, notas, idUsuario, idCliente) 
    VALUES (@Fecha, @total, @notas, @idUsuario, @idCliente);

    SET @new_identity = SCOPE_IDENTITY();

    INSERT INTO dcompvta (idCcompVta, idProducto, cantidad, precio, precioTotal)  
        SELECT 
            (@new_identity, 
            idProducto, cantidad, precio, precioTotal) 
        FROM @list;
END

错误:

消息102,第15级,状态1,过程SP_GrabarFactura,第19行
Sintaxis errorsa cerca de','。

在最后一行,您的括号太多了:

select (@new_identity, idProducto,cantidad,precio, precioTotal) from @list;

应该

select @new_identity, idProducto,cantidad,precio, precioTotal from @list;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM