none
SQL Dinamico para insertar registros

    Question

  • hola a todos estoy haciendo un procedimiento para insertar registros y que el campo final pueda variar: me sale error al momento del insert

    create procedure USP01

    @Col varchar(50)

    AS

    DECLARE @sSQL varchar(50)                                          

    insert into tabla1 ([nombre] ,[Fecha] ,[Nro],monto,[mes],[Ratio])

    SET @sSQL='select nombre ,fecha ,Nro,monto,mes '+ @Col +'from tabla2 '

    EXEC (@sSQL)


    maculdes

    • Moved by Enrique M. MontejoMVP Monday, July 02, 2012 9:19 AM Crear un procedimiento almacenado (De:Lenguaje VB.NET)
    Friday, June 22, 2012 6:15 PM

Answers

All replies

  • A tu insert le falta la sentencia "Values" en la que se especifican los valores a insertar en los campos de la tabla...

    en cuanto a lo que deseas realizar, podrias ser un poco mas especifico en cuanto a lo que deseas realizar

    Friday, June 22, 2012 6:25 PM
  • despues de mes no deberia ir una coma

    SET @sSQL='select nombre ,fecha ,Nro,monto,mes, '+ @Col +' from tabla2 '

    y tambien dejar un espacio entre la comilla simple y el from

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Friday, June 22, 2012 6:27 PM
  • en realidad se poco sobre procedimientos, y no se en donde deberia de colocar el values. y quiero cambiar el ultimo campo ya que tengo 2 campos similares el cual deseo trabajar por separada


    maculdes

    Friday, June 22, 2012 8:51 PM
  • no necesitas el Values si es con un select

    Agregar filas mediante INSERT y SELECT

    pero si valida lo que comento de la coma y el espacio en el select

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Friday, June 22, 2012 8:56 PM
  • ya lo modifique pero igual sale error

    maculdes

    Friday, June 22, 2012 9:14 PM
  • el mismo error ?

    o cambio la descripcion del mensaje


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Friday, June 22, 2012 11:15 PM
  • Hola.

    El problema está en que no puedes hacer dinámica la mitad de la consulta y la otra mitad fija. Es por eso que obtienes el error, el "insert into tabla1..." también debe ir en la variable @sSQL.

    Si no logras resolverlo, nos dices.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Tuesday, July 03, 2012 9:22 PM
  • hola a todos estoy haciendo un procedimiento para insertar registros y que el campo final pueda variar: me sale error al momento del insert

    create procedure USP01

    @Col varchar(50)

    AS

    DECLARE @sSQL varchar(50)                                          

    insert into tabla1 ([nombre] ,[Fecha] ,[Nro],monto,[mes],[Ratio])

    SET @sSQL='select nombre ,fecha ,Nro,monto,mes' + @Col 'from tabla2 '

    EXEC (@sSQL)


    maculdes

    mijo tiene error de sintaxis, seria asi mas menos :

    select @sSQL ='nombre ,fecha ,Nro,monto,mes' + @Col from tabla2

    pero con esta sentencia muestra un registro, ahora estoy averiguando para mas de un registro 

    Wednesday, September 12, 2012 1:21 PM
  • mijo tiene error de sintaxis, seria asi mas menos :

    select @sSQL ='nombre ,fecha ,Nro,monto,mes' + @Col from tabla2

    pero con esta sentencia muestra un registro, ahora estoy averiguando para mas de un registro 

    Wednesday, September 12, 2012 1:21 PM