none
AYuda tengo un SP que quiero que me ayude a modifica los datos que ya estaba en la tabla tengo este codigo RRS feed

  • Pregunta

  • CREATE PROCEDURE sp_Modify
      @id_usuario varchar(20),
      @Texto nvarchar(400),
      @Horapublica date  


    AS
    BEGIN

    UPDATE Publicacion
    SET id_usuario=@id_usuario,texto=@texto, @Horapublica= @Horaublica
    where id_usuario = @id_usuario


     end

    el ejecutable seri asi 

    EXEC    @return_value = sp_modificar
            @Id_usuario = 311,
            @Texto = 'Hola a casi todos',
            @fechaHora_publicacion = '2000-01-31 00:00:00.0000000'


    SELECT  'Return Value' = @return_value

    GO

    al ejecutar el ex me retorna "0" yo lo que quiero es que modifique los datos de la tabla gracias

                    
    • Editado HNymeria viernes, 28 de julio de 2017 23:38
    viernes, 28 de julio de 2017 23:33

Respuestas

  • Efectivamente, no existe ninguna diferencia entre EXEC y EXECUTE, ni mucho menos optar por una u otra es una "práctica recomendada", simplemente se trata de una forma abreviada de escribir la instrucción, tal como PROC y PROCEDURE. Quizá escribir el comando de manera completa proporcione mayor legibilidad, creo que es más deductivo entender la instrucción 'CREATE PROCEDURE' que 'CREATE PROC', cuestión de gustos.


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    • Propuesto como respuesta Moderador M lunes, 31 de julio de 2017 15:35
    • Marcado como respuesta Moderador M martes, 1 de agosto de 2017 17:54
    lunes, 31 de julio de 2017 15:17

Todas las respuestas

  • La consulta de actualización es correcta, no necesitas recuperar un valor de retorno.

    Intenta ejecutar el procedimiento almacenado de la siguiente forma:

    EXECUTE dbo.sp_Modify '311', 'Hola a casi todos', '20000131';
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 29 de julio de 2017 4:17
  • Hola

    Para ejecutar un Store Procedure debe utilizar  EXEC

    EXEC: La mejor práctica es utilizarlo en cualquier situación, ya que puede aumentar la legibilidad de su código

    EXEC NombreStoreProcedure 'ParametoUno', 'ParametroDos'

    Se pasa tantos parámetros tenga definido el store procedure, para mayor información revise este link EXECUTE (Transact-SQL)

    Saludos


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    sábado, 29 de julio de 2017 4:47
  • gracias si era eso :D mil gracias en verdad  tenias razón

    lunes, 31 de julio de 2017 14:48
  • pues yo tengo entendido que puede usarse tanto la palabra completa como la abreviatura "EXEC" yo he ejecutado SP con ambos terminos y han funcionado saludos !!
    lunes, 31 de julio de 2017 14:50
  • Efectivamente, no existe ninguna diferencia entre EXEC y EXECUTE, ni mucho menos optar por una u otra es una "práctica recomendada", simplemente se trata de una forma abreviada de escribir la instrucción, tal como PROC y PROCEDURE. Quizá escribir el comando de manera completa proporcione mayor legibilidad, creo que es más deductivo entender la instrucción 'CREATE PROCEDURE' que 'CREATE PROC', cuestión de gustos.


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    • Propuesto como respuesta Moderador M lunes, 31 de julio de 2017 15:35
    • Marcado como respuesta Moderador M martes, 1 de agosto de 2017 17:54
    lunes, 31 de julio de 2017 15:17