ejecutar un procedimiento almanado con cada uno de los resultados de un select

17/02/2006 - 20:13 por Jose Luis Bautista | Informe spam
Imageninemos que tengo un select tal que

select fecha from tabla where fecha>20050705

A su vez tengo un procedimiento almacenado tal que

create procedure actualizar
@fecha
as


Bien quiero ejecutar actualizar por cada resultado del select

¿como seria mas o menos?

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Isaias
17/02/2006 - 21:00 | Informe spam
UPDATE MyTabla SET mycol1 = b.MyDato
FROM MyTabla a JOIN MyTabla2 b
ON a.Indice = b.Indice

¿Algo asi?
Saludos
IIslas


"Jose Luis Bautista" escribió:

Imageninemos que tengo un select tal que

select fecha from tabla where fecha>20050705

A su vez tengo un procedimiento almacenado tal que

create procedure actualizar
@fecha
as
.

Bien quiero ejecutar actualizar por cada resultado del select

¿como seria mas o menos?

Muchas gracias




Respuesta Responder a este mensaje
#2 Jose Luis Bautista
17/02/2006 - 21:41 | Informe spam
No exactamente, pero muchas gracias

No es una operacion de update, (aunque el nombre del procedimiento a pie a
pensar que si)

Se llama al procedimiento actualizar (fecha) y segun sea el parametro, y el
estado de la base de datos, o bien se actualiza un resgistro, o se borra, o
se crea uno nuevo ,, es decir pudiera ser cualquiero tipo de operacion
realmente

desde la aplicacion con llamarlo como procedimiento almacenado vale

Pero hay circuntancias en que tengo que hacer ese mismo procedimiento con
una serie de fechas que cumplan una condicion, podria hacerlo desde la
aplicacion, por supuesto, pero quiero hacerlo desde un procedimiento
almacenado (si es posible).


"Isaias" escribió en el mensaje
news:
UPDATE MyTabla SET mycol1 = b.MyDato
FROM MyTabla a JOIN MyTabla2 b
ON a.Indice = b.Indice

¿Algo asi?
Saludos
IIslas


"Jose Luis Bautista" escribió:

Imageninemos que tengo un select tal que

select fecha from tabla where fecha>20050705

A su vez tengo un procedimiento almacenado tal que

create procedure actualizar
@fecha
as
.

Bien quiero ejecutar actualizar por cada resultado del select

¿como seria mas o menos?

Muchas gracias




Respuesta Responder a este mensaje
#3 Salvatore
17/02/2006 - 22:07 | Informe spam
espero te sirva tu quiere hacer un procedimeinto almacenada ya sea para
modificar,agregar o eliminar la fechas que conicidan con la senetcia sql,
entonce necesitas usar SQL dinamico
Respuesta Responder a este mensaje
#4 Jose Luis Bautista
19/02/2006 - 17:41 | Informe spam
Ya encontre la solucion, tenia que usar un cursor

ALTER PROCEDURE [dbo].[BancoActualizarEstado]
@fecha datetime
AS


begin transaction

DECLARE fechas CURSOR FOR
SELECT fecha, banco
from BancoEstado
where
fecha>=@fecha
order by fecha

open fechas

declare @fechaEstado Datetime
declare @banco varchar(256)

FETCH NEXT FROM fechas
INTO @fechaEstado, @banco

WHILE @@FETCH_STATUS = 0
BEGIN

print cast(@fechaEstado as sysname) + ' ' + @banco
execute bancoCrearEstado @fecha=@fechaEstado, @banco=@banco

FETCH NEXT FROM fechas
INTO @fechaEstado,@banco

END




close fechas
DEALLOCATE fechas



commit transaction


"Jose Luis Bautista" escribió en el
mensaje news:%23TFjLZ$
Imageninemos que tengo un select tal que

select fecha from tabla where fecha>20050705

A su vez tengo un procedimiento almacenado tal que

create procedure actualizar
@fecha
as


Bien quiero ejecutar actualizar por cada resultado del select

¿como seria mas o menos?

Muchas gracias



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida