Duda procedimientos almacenados

29/09/2006 - 17:55 por A.Afonso | Informe spam
Hola a todos,

Quiero entregar a un usuario un procedimiento almacenado que pueda utilizar
para hacer algo como lo siguiente (por ejemplo):

SELECT CodigoArticulo, Descripcion, (EXEC proc_StockDisponible
CodigoArticulo) FROM ARTICULO
WHERE CodigoArticulo >= 'A'

El procedimiento almacenado estaría definido algo así como:

CREATE PROCEDURE proc_StockDisponible @CodigoArticulo varchar(30) AS
SELECT ... FROM ...
WHERE CodigoArticulo = @CodigoArticulo
GO

Ya sé que no me funciona la inclusión del proc_StockDisponible en la
cláusula SELECT, pero ¿como podría hacer esto de alguna otra forma?. No me
vale lo de definir una vista para resolver el problema, ni tampoco el
incluir en el procedimiento almacenado toda la consulta que pretendo con
SELECT. El objetivo es suministrar al usuario una función independiente que
pueda ser combinada en la cláusula SELECT. Tampoco quiero funciones de
usuario definidas con FoxPro.

Un saludo y gracias de antemano,

A.Afonso
 

Leer las respuestas

#1 tatis
29/09/2006 - 17:59 | Informe spam
Lo que debes hacer es utilizar una función de usuario que devuelva
como un valor escalar la cantidad de articulos disponibles para el
código.

Busca en la ayuda de SQL CREATE FUNCTION.

Luego de crear la función, la puedes utilizar desde la consulta
SELECT.

A.Afonso wrote:
Hola a todos,

Quiero entregar a un usuario un procedimiento almacenado que pueda utilizar
para hacer algo como lo siguiente (por ejemplo):

SELECT CodigoArticulo, Descripcion, (EXEC proc_StockDisponible
CodigoArticulo) FROM ARTICULO
WHERE CodigoArticulo >= 'A'

El procedimiento almacenado estaría definido algo así como:

CREATE PROCEDURE proc_StockDisponible @CodigoArticulo varchar(30) AS
SELECT ... FROM ...
WHERE CodigoArticulo = @CodigoArticulo
GO

Ya sé que no me funciona la inclusión del proc_StockDisponible en la
cláusula SELECT, pero ¿como podría hacer esto de alguna otra forma?. No me
vale lo de definir una vista para resolver el problema, ni tampoco el
incluir en el procedimiento almacenado toda la consulta que pretendo con
SELECT. El objetivo es suministrar al usuario una función independiente que
pueda ser combinada en la cláusula SELECT. Tampoco quiero funciones de
usuario definidas con FoxPro.

Un saludo y gracias de antemano,

A.Afonso

Preguntas similares