15 messaggi dal 11 giugno 2011
Ciao a tutti...
Io ho risolto una query che mi mostrava l'elenco di tutte le relazioni tra le tabelle presenti su un database. La query mi ha dato i seguenti campi:

FOREIGNKEY = Mi da i nomi delle 2 tabelle relazionate;
TABLENAME = Mi da il nome dell prima tabella;
COLUMNNAME = Mi da la chiave primaria della prima tabella;
REFERENCETABLENAME = Mi da il nome della seconda tabella;
REFERENCECOLUMNNAME = Mi da il nome della chiave esterna della seconda tabella;

Adesso il mio problema è che non so come fare per copiare i dati che mi ha dato la query e portarli su una tabella.
Qualcuno potrebbe aiutarmi?

Grazie per le vostre risposte...
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
informazione wrote:
Ciao a tutti...
Io ho risolto una query che mi mostrava l'elenco di tutte le relazioni tra le tabelle presenti su un database. La query mi ha dato i seguenti campi: FOREIGNKEY = Mi da i nomi delle 2 tabelle relazionate;
TABLENAME = Mi da il nome dell prima tabella;
COLUMNNAME = Mi da la chiave primaria della prima tabella;
REFERENCETABLENAME = Mi da il nome della seconda tabella;
REFERENCECOLUMNNAME = Mi da il nome della chiave esterna della seconda tabella;
Adesso il mio problema è che non so come fare per copiare i dati che mi ha dato la query e portarli su una tabella.
Qualcuno potrebbe aiutarmi?
Grazie per le vostre risposte...

puoi utilizzare la proiezione per inserire il risultato della stessa in una tabella di destinazione, similarmente a
INSERT INTO [schema].[tabella di destinazione]
SELECT f.name AS ForeignKey,
SCHEMA_NAME(f.SCHEMA_ID) SchemaName,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS ColumnName, SCHEMA_NAME(o.SCHEMA_ID) ReferenceSchemaName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID =
fc.constraint_object_id
INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id;
dove [schema].[tabella di destinazione] deve esistere.. per il tipo di dato puoi usare sysname, che equivale a nvarchar(12 ...
oppure puoi usare la sintassi
SELECT .... INTO [schema].[tabella di destinazione] FROM ....; nel caso tu voglia generare la tabella di destinazione come risultato della proiezione.. in questo caso [schema].[tabella di destinazione] non deve esistere...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.