2017-03-23 118 views
0

我有以下代碼,當表@ListaDeProducto有多於1行時,它給了我一個錯誤。任何想法?插入到select子查詢中返回的值超過1個

insert into Solicitud_Plastico_Interna_Detalle(
       IDSolicitud_Plastico_Interna 
       ,IDTipo_Producto 
       ,Cantidad_Solicitada 
       ,Create_User 
       ,Create_Date 
       ,Contingencia 
       ,Total 
) 
select 
    @IdSolicitud 
    ,IDTipo_Producto 
    ,Cantidad_Requerida 
    ,@USUARIO 
    ,getdate() 
    ,Contingencia 
    ,Total 
from @ListaDeProducto 

表模式

CREATE TYPE [ListaProductoTableType2] AS TABLE 
(
IDTipo_Producto int, 
Tipo_Producto varchar(1000), 
Cantidad_Requerida int, 
Contingencia int , 
Total int, 
IdSolicitud_batch varchar(100) 
) 
GO 
+2

大概在桌子上車INSERT觸發器。 –

+0

你可能在桌子上有一個觸發器,它寫錯了。觸發器按語句工作,而不是按行工作。這意味着插入的表格可以容納多行 –

+0

您收到什麼錯誤? –

回答

0

我還是會賭沒有在表中的某些觸發。

那麼,爲什麼你不嘗試創建一個新表,以證明這個查詢都確定了多行

CREATE TABLE Solicitud_Plastico_Temporal AS (    
    select 
     @IdSolicitud as IDSolicitud_Plastico_Interna 
     ,IDTipo_Producto 
     ,Cantidad_Requerida 
     ,@USUARIO as Create_User 
     ,getdate() as Create_Date 
     ,Contingencia 
     ,Total 
    from @ListaDeProducto 
) 
相關問題