SQL Server - Procedimientos Almacenados Extendidos

 
Vista:

Procedimientos Almacenados Extendidos

Publicado por Leandro Espinoza (3 intervenciones) el 21/09/2010 17:14:44
Buenos días un saludo cordial...

Necesito actualizar un campo de una tabla en SQL Server 2000 desde una función definida por el usuario, para ello intente utilizar un Update, pero me mostro un mensaje de “Error 443: Uso no válido de ‘UPDATE’ en una función”.

Por lo que investigué y vi que no se puede utilizar un Update en una función definida por el usuario, sino que debería hacerlo por medio de un procedimiento almacenado extendido, es decir una DLL.

Ya elabore una DLL en Visual Basic 6.0 con una función que requiere dos parámetros (el primero es el campo a actualizar y el segundo el valor que tendrá), pero al ejecutar el procedimiento almacenado extendido en SQL server me indica que no encuentra la función dentro de la DLL, por lo que asumo que reconoce la DLL pero no la función dentro de la misma.

De ante mano de agradezco toda la colaboración que me puedan ofrecer ya que es de suma urgencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Procedimientos Almacenados Extendidos

Publicado por Isaias (4558 intervenciones) el 21/09/2010 18:00:52
Leandro

¿Cual es el caso de hacer un UPDATE desde una funcion?

¿Podrias explicar el procedimiento?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimientos Almacenados Extendidos

Publicado por Leandro Espinoza (3 intervenciones) el 23/09/2010 15:30:01
Buenos días gracias por responder, te explico…

En mi trabajo tienen SAINT Nomina, si eres de Venezuela sabrás de que te hablo, de lo contrario el SAINT es un sistema administrativo de gestión de personal, el cual permite entre muchas cosas hacer un pequeño código para ejecutar una función de sql server, yo necesito actualizar un campo de una tabla en sql server por medio del SAINT en determinado momento y es por eso que necesito hacerlo desde una función porque es la herramienta que el SAINT me permite ejecutar, es decir, no me permite ejecutar un procedimiento almacenado sino una función defina por el usuario….

Tratando de diseñar una función fue cuando intente usar un UPDATE y no lo permitió.

Investigando fue que supe todo lo que ya he explicado anteriormente.
Agradezco que alguien me pueda ayudar… Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Procedimientos Almacenados Extendidos

Publicado por Isaias (4558 intervenciones) el 23/09/2010 17:29:31
¿Podrias enviarme tu funcion o codigo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimientos Almacenados Extendidos

Publicado por Leandro Espinoza (3 intervenciones) el 23/09/2010 18:59:06
Es una función muy sencilla...

CREATE FUNCTION [BD_D_A] (@CODCON VARCHAR(10), @DESCRIP VARCHAR(60))
RETURNS INT AS
BEGIN
DECLARE @RES INT
SET @RES=0
UPDATE SWNOMMSSQL.DBO.SWNOMCON SET DESCRP=@DESCRIP WHERE CODCON=@CODCON
SET @RES=1
RETURN ISNULL(@RES,0)
END

Solo para modificar el campo DESCRIP de la Tabla SWNOMCON pero el SQL Server 2000 no me permite utilizar el UPDATE en una Función.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Procedimientos Almacenados Extendidos

Publicado por Isaias (4558 intervenciones) el 23/09/2010 20:05:32
En las funciones (UDF), no se pueden utilizar DELETE, UPDATE y EXEC

¿Ya consultaste con tu proveedor como puedes hacer lo que necesitas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar