y como se hace eso ? jeje
gracias!!

2008/1/28, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
>  deshabilitá los constraints
>
> ----- Original Message -----
> *From:* Leandro Halfon <[EMAIL PROTECTED]>
> *To:* [email protected]
> *Sent:* Monday, January 28, 2008 3:28 PM
> *Subject:* [puntonet] [OT] SQL cursores anidados.
>
> Lista.. a ver si algun grosso en sql me puede ayudar
> tengo que duplicar totalmente los datos de un bd..
> pero como algunas tablas estan relacionados..tengo que usar cursores...
>
> hice un script para duplicar los datos de 2 tablas..
>
> el scripts es el siguiente:
>
> /*declaramos las variables para tabla menu*/
> declare @idmenu as int
> declare @tipomenu as int
> declare @nombre as varchar(50)
> declare @descripcion as varchar(300)
> declare @orden as int
> declare @idmenupadre as int
> declare @publicado as bit
> declare @imagen as varchar(80)
> declare @alineacion as int
> /*declaramos las variables para tabla menu_idiomas */
> declare @texto as varchar(150)
> declare @eslinkexterno as bit
> declare @urlexterno as varchar(250)
> declare @estargetself as bit
> declare @estargetblank as bit
> declare @espopup as bit
> declare @width as int
> declare @heigth as int
>
> /*declaramos los cursores. El select debe contener sólo los campos a
> utilizar.*/
> declare MENU cursor for
> select IdMenu,TipoMenu,
> Nombre,Descripcion,OrdenMenu,IdMenuPadre,Publicado,Imagen,Alineacion
> from ocms_menues where idsitio=5 and tipomenu=3
>
> open MENU
> /*Avanzamos un registro y cargamos en las variables los valores
> encontrados en el primer registro*/
> fetch next from MENU into
> @idmenu,@tipomenu,@nombre,@descripcion,@orden,@idmenupadre,@publicado,@imagen,@alineacion
>     while @@fetch_status = 0
>         begin
>             /*Insertamos el nuevo menu*/
>             insert into ocms_menues
> values(@tipomenu,@nombre,@descripcion,@orden,@idmenupadre,@publicado,14,@imagen,@alineacion)
>             necesito el id que inserte para el insert que hay mas abajo...
>             /*Leemos el menu_idioma*/
>             declare MENU_IDIOMAS cursor for
>             select
> texto,eslinkexterno,publicado,urlexterno,estargetself,estargetblank,espopup,popupwidth,popupheigth
>             from ocms_menues_idiomas where [EMAIL PROTECTED]
>             open MENU_IDIOMAS
>             fetch next from MENU_IDIOMAS into
> @texto,@eslinkexterno,@publicado,@urlexterno,@estargetself,@estargetblank,@espopup,@width,@heigth
>             while @@fetch_status = 0
>             begin
>                 /*Insertamos el nuevo menu_idioma*/
>                 insert into ocms_menues_idiomas
> values(@texto,@eslinkexterno,@publicado,@urlexterno,@estargetself,@estargetblank,@espopup,@width,@heigth)
>                 /*Avanzamos otro registro de la tabla menu_idioma*/
>
>                 fetch next from MENU_IDIOMAS into
> @tipomenu,@nombre,@descripcion,@orden,@idmenupadre,@publicado,@imagen,@alineacion
>             end
>             close MENU_IDIOMAS
>             deallocate MENU_IDIOMAS
>
>
>             /*Avanzamos otro registro de la tabla menu */
>             fetch next from MENU into
> @tipomenu,@nombre,@descripcion,@orden,@idmenupadre,@publicado,@imagen,@alineacion
>         end
>     /*cerramos el cursor*/
> close MENU
> deallocate MENU
>
> ahora bien.. en el cursor de MENU_IDIOMAS necesito insertar en valor que
> hice en insert del nuevo menu.. tienen idea de como hago ?
>
> gracias!!!
>
> Leandro
>
>

Responder a