Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ejecutar Procedimiento almacenado en una función

Estas en el tema de Ejecutar Procedimiento almacenado en una función en el foro de SQL Server en Foros del Web. Porque no se puede? o estaré haciendo algo mal yo...
  #1 (permalink)  
Antiguo 23/10/2006, 11:25
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Pregunta Ejecutar Procedimiento almacenado en una función

Porque no se puede? o estaré haciendo algo mal yo
  #2 (permalink)  
Antiguo 23/10/2006, 11:38
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
Creo que recibiras más ayuda si pones la parte del código (y eso lo sabes )
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 23/10/2006, 12:41
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Código:
ALTER FUNCTION [dbo].[Cmp_F_getCostoUnitarioOrdenCompra]
(
	@PI_IdEmpresa int,
	@PI_IdOficina int,
	@PI_docXML varchar(max),
	@PI_IdItem int
)
RETURNS decimal(18,4)
AS
BEGIN
	DECLARE @P_Cantidad decimal(18,4)
	
	EXEC SIGE_Compras.dbo.Cmp_P_getCostoUnitarioOrdenCompra @PI_IdEmpresa,@PI_IdOficina,
	@PI_docXML,@PI_IdItem,@P_Cantidad output
	
	RETURN @P_Cantidad
END
Tengo esta función que recibe unos parametros y manda a ejecutar un procedimiento almacenado enviandole dichos parámetros y este procedimiento tiene un parámetro de tipo output el cual lo guardo en uan variable y luego esa variable es la que devuelve la función.

Al ejecutar:

SELECT SIGE_COMPRAS.dbo.Cmp_F_getCostoUnitarioOrdenCompra (2,7,'MiString',20)

Only functions and extended stored procedures can be executed from within a function
  #4 (permalink)  
Antiguo 23/10/2006, 13:12
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Solamente las funciones y los procedimientos almacenados ampliados se pueden ejecutar dentro de una función
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 23/10/2006, 13:14
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Y que @#$%&! es un procedimiento ampliado... como lo amplio?

Aunque... pensandolo bien el procedimiento en cuestión en bien amplio... si vieran nomás cuanto código
  #6 (permalink)  
Antiguo 23/10/2006, 13:15
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
solo meti el mensaje de error en un traductor...
oye que version de SQL es?? 2005??
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 23/10/2006, 13:25
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Simon...
  #8 (permalink)  
Antiguo 23/10/2006, 17:24
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Los Extended SPs son los que conviertes en DLL. En el sistema son todos los que empiezan con xp (eXtended Procedure), por ejemplo xp_sendmail. Lo que no sé es como compilarlos.

Dev, sobre la firma pues incluso existen unas políticas, revísalas y ve si estás en cumplimiento de ellas.
http://www.forosdelweb.com/f74/politicas-foros-del-web-101485/
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #9 (permalink)  
Antiguo 24/10/2006, 09:50
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
y nosotros los usuarios normales podremos hacer de alguna manera un extended procedure?

Última edición por Mithrandir; 24/10/2006 a las 17:00 Razón: Faltaba emoticón
  #10 (permalink)  
Antiguo 24/10/2006, 16:58
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
He limpiado el tema para borrar temas que distraen el tema original del thread.

Enkara, existe un foro llamado Soporte donde lo leen los administradores y casi todos los moderadores, si quieres puedes replantear tu queja en ese foro.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #11 (permalink)  
Antiguo 24/10/2006, 17:02
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Dev, lee esta liga http://msdn2.microsoft.com/en-US/library/ms164627.aspx

Pero ahí mismo recomiendan utilizar el CLR de .NET en su lugar.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #12 (permalink)  
Antiguo 25/10/2006, 08:45
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Gracias Mithrandir... ya lo voy a leer

Gracias

Última edición por Mithrandir; 26/10/2006 a las 12:58
  #13 (permalink)  
Antiguo 11/02/2009, 15:06
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento almacenado en una función

hola!!!!!! puede ser el caso contrario: es decir puedo usar funciones dentro de un sp????
  #14 (permalink)  
Antiguo 11/02/2009, 15:19
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Ejecutar Procedimiento almacenado en una función

Eso si puedes hacer Isa2301
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:11.