6 messaggi dal 14 giugno 2011
Buongiorno a tutti
ho questo problema e spero che possiate aiutarmi

da una stored procedura sul db 1, devo eseguire delle query sul db2.
Il nome di db2 è dinamico quindi faccio dei ragionamenti e costruisco una stringa con il comando USE.
Ma se eseguo:

USE DB1
EXEC @db
select COUNT(*) FROM table1 (800 record)

set @db = 'USE DB2'
EXEC @db
select COUNT(*) FROM table1 (800 record invece di 100)

il numero dei record che mi ritorna sulla seconda select è quello di DB1, praticamente è come se non sentisse il comando USE DB2

Grazie per l'aiuto
60 messaggi dal 08 aprile 2010
Ciao, io proverei con un linkserver o con un openquery ...
SELECT *
FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles')
6 messaggi dal 14 giugno 2011
grazie per la risposta

openquery se non sbaglio accetta però come parametri linked server e query, o sbaglio?
questo presuppone che ci sia un linked server.
visto che i db sono tutti sulla stessa istanza, vorrei, se possibile, fare in modo che la selezione sia dinamica, senza bisogno di creare linked server.
66 messaggi dal 09 febbraio 2005
maurodang ha scritto:

...
visto che i db sono tutti sulla stessa istanza, vorrei, se possibile, fare in modo che la selezione sia dinamica, senza bisogno di creare linked server.


Ciao,
allora, probabilmente, per riferirti ad una tabella di un db da un altro
puoi usare una sintassi tipo

select * from Nomedb.Schema.Tabella

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.