SQL - MAS DE UN PARAMETRO EN PROCEDURE

 
Vista:
sin imagen de perfil

MAS DE UN PARAMETRO EN PROCEDURE

Publicado por DALSOM (195 intervenciones) el 19/04/2004 23:43:52
HOLA A TODOS, GRACIAS POR LEER MI NOTA.

HACE UN TIEMPO ATRAS HABIA PREGUNTADO COMO SE PASABAN PARAMETROS A UN PROCEDIMIENTO, Y GRACIAS, ME HA SERVIDO; PERO AHORA, HE INTENTADO HACER UN PROCEDIMIENTO QUE ACEPTE MAS DE UN PARAMETRO Y ME HA DADO ERROR. NO HE VISTO NINGUN EJEMPLO CON MAS DE UN PARAMETRO SIEMPRE EN ESTA FORMA

CREATE PROC PROCNAME
@VARIABLE TIPO = NULL
AS
BEGIN

.....

END

PERO SI NECESITO MAS DE UNO, CUAL SERIA EL FORMATO, YA QUE CUANDO LE PONGO MAS DE UNO, ME DICE QUE TENGO QUE DECLARAR LAS VARIABLES, TENIENDO , CREO YO, YA DECLARADAS.
ENTONCES, SE PODRIA HACER ESTO ASI

CREATE PROC PROCNAME
@VAR1 INT = 0 , @VAR2 INT=1 , @VAR3 CHAR(1) = SPACE(0)
AS
BEGIN
...
END

O SOLO SE PUEDE CON UN SOLO VALOR. QUE ME DICEN?
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

RE:MAS DE UN PARAMETRO EN PROCEDURE

Publicado por Isaías Islas (5072 intervenciones) el 20/04/2004 00:32:00
No se cual sea la razon en tratar de colocarle valores en la DECLARACION de los parametros, finalmente, el valor que tengan sera variable.

CREATE PROC PROCNAME
@VAR1 INT , @VAR2 INT , @VAR3 CHAR(1)
AS
BEGIN
...
END
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
sin imagen de perfil

OKI, PERO POR QUE ...

Publicado por DALSOM (195 intervenciones) el 20/04/2004 17:36:49
HOLA, YA ME FUNCIONO GRACIAS.

LOS VALORES, SERIAN VALORES PREDETERMINADOS, PARA EL CASO DE QUE NO SE INTRODUZCA NINGUN VALOR PARA ESA VARIABLE, TENGA UN VALOR POR DEFECTO. FUNCIONAN MUY BIEN.

PERO AUN EXISTE ALGO QUE NO SE POR QUE PASA,

AHORA QUE TENGO MI PROCEDIMIENTO,
HE QUERIDO PROBARLO,
Y HE HECHO LO SIGUIENTE,

USE BASEDEDATOS

SELECT * FROM TABLA WHERE FIELD1='VALOR1' ;

BASEDEDATOS.DBO.PROCEDIMIENTO @VAR1='VALOR1',@VAR2='VALOR2',@VAR3=1 ;

SELECT * FROM TABLA WHERE FIELD1='VALOR1' ;

Y ME DA UN ERROR.

SI PONGO LA LINEA DEL PROCEDIMIENTO EN COMENTARIO, SE EJECUTAN PERFECTAMENTE, O SI LE QUITO EL SELECT DE LA LINEA QUE ESTA SOBRE EL PROCEDIMIENTO, TAMBIEN SE EJECUTA SIN PROBLEMAS.

POR QUE NO PUEDO PONER UN SELECT ANTES DE EJECUTAR 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:OKI, PERO POR QUE ...

Publicado por Isaías Islas (5072 intervenciones) el 20/04/2004 19:30:56
Claro que puede hacer un SELECT antes de ejecutar un PROCEDIMIENTO, solo que debera agregar la oden GO

SELECT * FROM TABLA WHERE FIELD1='VALOR1'
GO

BASEDEDATOS.DBO.PROCEDIMIENTO @VAR1='VALOR1',@VAR2='VALOR2',@VAR3=1
GO

SELECT * FROM TABLA WHERE FIELD1='VALOR1'
GO

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