Sql Insert into select子查询返回的值超过1

Sql Insert into select子查询返回的值超过1,sql,sql-server,insert-into,Sql,Sql Server,Insert Into,我有以下代码,当表@ListaDeProducto有超过1行时,它会给我一个错误。有什么想法吗 insert into Solicitud_Plastico_Interna_Detalle( IDSolicitud_Plastico_Interna ,IDTipo_Producto ,Cantidad_Solicitada ,Create_User ,Cre

我有以下代码,当表
@ListaDeProducto
有超过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

我敢打赌桌子上一定有扳机

那么,为什么不尝试创建一个新表来证明这个查询可以处理多行呢

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
)

表上可能有错误的insert触发器。表上可能有INEART的触发器,这是写错的。触发器按语句工作,而不是按行工作。这意味着插入的表可以容纳多行,因为数据库中没有任何触发器。很重要的一点是,我正在从.NET应用程序调用一个过程,这个过程以及其他程序都有以下代码,主键是什么?。在我看来,你可能是在复制它。因为你没有子查询,而且你在评论中说你没有任何触发器,在你给我们的代码中,我怀疑你看到的错误代码部分是错误的。