¡Cuesta Resolverlo!

12/02/2004 - 23:58 por Ruben | Informe spam
Realizar la siguiente consigna:
Copiar las tablas de la base de datos pubs. Cuyas tablas
deben llevar un prefijo a eleccion.Por Ejemplo:
La tabla Titles deberá copiarse como <cop>Titles,
siendo "cop" el prefijo elegido.
Todas las tabla deben llevar el prefijo, por el
contrario dará error debido a
que no se puede tener dos tabla con el mismo nombre en
la misma base de datos.
Se de Implementar de manera que pueda funcionar desde el
Analisador de Consulta.
Por si estó es poco; los campos o las filas de cada tabla
solo deben copiarse (a su respectiva tabla,obvio)100 filas.
Gracias.

Preguntas similare

Leer las respuestas

#1 ulises
13/02/2004 - 00:24 | Informe spam
En resumen si lo haces de tabla en tabla funcionaría algo
como (considerando el prefijo con la palabra 'pre'):

select TOP 100 * into prejobs from jobs

si quieres hacer algo rápido, puedes ejecutar el siguiente
job en la base de datos pubs :

select 'SELECT TOP 100 * INTO pre' + name + ' FROM ' + name
from sysobjects where xtype = 'U'

esto te obtendrá :

SELECT TOP 100 * INTO pretitleauthor FROM titleauthor
SELECT TOP 100 * INTO prestores FROM stores
SELECT TOP 100 * INTO presales FROM sales
...

que luego lo puedes copiar al Query Analyzer y ejecutarlo.

Saludos,
Ulises


Realizar la siguiente consigna:
Copiar las tablas de la base de datos pubs. Cuyas tablas
deben llevar un prefijo a eleccion.Por Ejemplo:
La tabla Titles deberá copiarse como <cop>Titles,
siendo "cop" el prefijo elegido.
Todas las tabla deben llevar el prefijo, por el
contrario dará error debido a
que no se puede tener dos tabla con el mismo nombre en
la misma base de datos.
Se de Implementar de manera que pueda funcionar desde


el
Analisador de Consulta.
Por si estó es poco; los campos o las filas de cada tabla
solo deben copiarse (a su respectiva tabla,obvio)100


filas.
Gracias.

.

Respuesta Responder a este mensaje
#2 Maximiliano Damian Accotto
13/02/2004 - 00:25 | Informe spam
esto es lo que no entiendo:

"Por si estó es poco; los campos o las filas de cada tabla
solo deben copiarse (a su respectiva tabla,obvio)100 filas.
Gracias."

si lo que queres copiar son solo 100 filas de cada tabla usa TOP 100 y
listo.

Explicame mejor esto y listo

pd: es verdad que no podes tener 2 tablas en la misma base pero no es
necesario un prefijo, si le cambias el propietario no habria problemas ;),
son solo 2 formas.





Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
"Ruben" escribió en el mensaje
news:f00e01c3f1bb$a96f5510$
Realizar la siguiente consigna:
Copiar las tablas de la base de datos pubs. Cuyas tablas
deben llevar un prefijo a eleccion.Por Ejemplo:
La tabla Titles deberá copiarse como <cop>Titles,
siendo "cop" el prefijo elegido.
Todas las tabla deben llevar el prefijo, por el
contrario dará error debido a
que no se puede tener dos tabla con el mismo nombre en
la misma base de datos.
Se de Implementar de manera que pueda funcionar desde el
Analisador de Consulta.
Por si estó es poco; los campos o las filas de cada tabla
solo deben copiarse (a su respectiva tabla,obvio)100 filas.
Gracias.
Respuesta Responder a este mensaje
#3 Javier Loria
13/02/2004 - 02:50 | Informe spam
Hola Ruben:
Es facil si juntas casi todos los males del SQL. :)
==ÞCLARE TablasCursor CURSOR
READ_ONLY
FOR
SELECT T.TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES AS T
WHERE T.TABLE_TYPE='BASE TABLE'
AND T.TABLE_NAME NOT LIKE 'CONT%'

DECLARE @Tabla SYSNAME
DECLARE @TablaAnt SYSNAME
DECLARE @message NVARCHAR(4000)

OPEN TablasCursor
SET @Message='BEGIN TRAN'+CHAR(13)
FETCH NEXT FROM TablasCursor INTO @Tabla
WHILE (@@fetch_status <> -1)
BEGIN
SELECT @message = @message +'SELECT * '+CHAR(13)+'INTO Cop'+
@Tabla+CHAR(13)
SELECT @message = @message +'FROM '+ @Tabla+CHAR(13)
FETCH NEXT FROM TablasCursor INTO @Tabla
END
SET @Message=@Message+'COMMIT'+CHAR(13)
CLOSE TablasCursor
DEALLOCATE TablasCursor

EXECUTE sp_executesql @Message
GO

Espero te sirva,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Ruben escribio:
Realizar la siguiente consigna:
Copiar las tablas de la base de datos pubs. Cuyas tablas
deben llevar un prefijo a eleccion.Por Ejemplo:
La tabla Titles deberá copiarse como <cop>Titles,
siendo "cop" el prefijo elegido.
Todas las tabla deben llevar el prefijo, por el
contrario dará error debido a
que no se puede tener dos tabla con el mismo nombre en
la misma base de datos.
Se de Implementar de manera que pueda funcionar desde el
Analisador de Consulta.
Por si estó es poco; los campos o las filas de cada tabla
solo deben copiarse (a su respectiva tabla,obvio)100 filas.
Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida