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

No se como realizar este procedimiento

Estas en el tema de No se como realizar este procedimiento en el foro de SQL Server en Foros del Web. Hola a todos: necesito realizar un procedimiento que consta de dos consultas, si la primera tiene resultados me entrega esa consulta si no, me ejecuta ...
  #1 (permalink)  
Antiguo 02/03/2006, 15:13
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
No se como realizar este procedimiento

Hola a todos:

necesito realizar un procedimiento que consta de dos consultas, si la primera tiene resultados me entrega esa consulta si no, me ejecuta la otra consulta.

En realidad no se como hacerlo ya que soy primeriso en los procedimientos
si alguien me puede ayudar se lo agradeceria, saludos

CREATE PROCEDURE RegTemasServicios @id bigint AS
begin

SELECT Nombre, Bajada, Padre
FROM tema
WHERE (Padre = @id)


SELECT Nombre, Bajada, ImagenPequena
FROM servicios
WHERE (idTema = @id)

end
GO
  #2 (permalink)  
Antiguo 02/03/2006, 22:02
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
nadie me va ayudarrrr por favor todavia no lo he podido realizar
  #3 (permalink)  
Antiguo 03/03/2006, 06:24
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Talvez haya algo mejor pero yo usaria cursores, pues los cursores traen mecanismos (podríamos llamarlas funciones) que indican el total de fila devuelto por una consulta.
  #4 (permalink)  
Antiguo 03/03/2006, 08:33
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
y como seria con los cursores, hay algun manual donde pueda estudiar como se realizan los procedimientos

Saludos

Mauricio
  #5 (permalink)  
Antiguo 03/03/2006, 09:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 6 meses
Puntos: 3
Puedes hacer eso asi :

CREATE PROCEDURE RegTemasServicios
@id bigint
AS
begin
SELECT Nombre, Bajada, Padre as img
FROM tema
WHERE (Padre = @id)
if @@rowcount = 0
SELECT Nombre, Bajada, ImagenPequena as img
FROM servicios
WHERE (idTema = @id)
end
end
  #6 (permalink)  
Antiguo 03/03/2006, 12:31
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Una manera alternativa es:
Código:
CREATE PROCEDURE RegTemasServicios @id bigint AS
AS

IF EXISTS(SELECT Nombre, Bajada, Padre FROM tema WHERE Padre = @id)
BEGIN
	SELECT Nombre, Bajada, Padre 
	FROM tema
	WHERE Padre = @id
END
ELSE
BEGIN
	SELECT Nombre, Bajada, ImagenPequena
	FROM servicios
	WHERE idTema = @id
END
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 20:07.