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 > >
