23 messaggi dal 21 agosto 2004
Ciao...è possibile passare, ad una view o stored procedure, in qualche modo, il nome della tabella su cui operare, come parametro?

se per es. ho una view che mi fa una select * from @tabella, vorrei passarle il parametro @tabella come si fa coi valori dei campi....visto che la stessa view, uguale, vorrei utilizzarla per più tabelle di struttura identica ma su database diversi. Vorrei usarne una, in pratica

ciao
dai un occhiata quà

http://www.devleap.com/SchedaArticolo.aspx?IdArticolo=10690


in particolare:

-- Verifico se devo applicare un ordinamento diverso da quello predefinito
IF (@SortExpression IS NULL)
SET @CustomColumn = 'idCustomer'
ELSE
SET @CustomColumn = '(CONVERT(nvarchar(100), ' + @SortExpression + ') +
CONVERT(nvarchar(10), idCustomer))'

SET @SqlStatement = 'SELECT TOP ' + CONVERT(nvarchar, @PageSize) +
' idCustomer, CustomerName, CustomerEMail, CustomerBirthday, CustomerSex, ' + @CustomColumn + '
AS CustomKey FROM tabCustomers ' + @SqlCondition

IF (@CurrentPage > 1)
SET @SqlStatement = @SqlStatement +
@Prefix + @CustomColumn + ' > (SELECT TOP 1 Max(' + @CustomColumn + ') AS CustomKey
FROM tabCustomers ' + @SqlCondition + @Prefix + @CustomColumn + ' IN ' +
'(SELECT TOP ' + CONVERT(nvarchar, (@PageSize * (@CurrentPage - 1))) + ' ' + @CustomColumn + '
AS CustomKey FROM tabCustomers ' + @SqlCondition + ' ORDER BY CustomKey)' +
' ORDER BY CustomKey) ORDER BY CustomKey'

PRINT @SqlStatement

EXEC sp_executesql @SqlStatement

baso quasi tutte le me store procedure su questo codice, unica cosa fai molta attenzione alla validazione dei dati

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
23 messaggi dal 21 agosto 2004
Marco: sei semplicemente un grande :-)

Altrove mi hanno risposto che sogno :-D

Grazie per il suggerimento GENIALE ;-)
23 messaggi dal 21 agosto 2004
Visto che è possibile fare questo, mi stavo chiedendo:

è possibile -come ulteriore figata-

1) salvare una query normale in una vista, che abbia però i nomi delle tabelle interessate così la query è pronta così com'é per fare delle prove (cioé una normale query NON costruita come concatenazione di stringhe come nell'esempio da te citato)

2) creare una stored procedure o un'altra vista che elabori il testo SQL della query della prima vista (punto 1) dopo averne modificato il nome della tabella col valore di un parametro passato alla sp.

Es: ho una vista normalissima, con una query, all'interno, del tipo:

(1) SELECT * FROM TOPOLINO

E voglio creare un'altra vista che, passato il nome di una tabella su cui voglio eseguire la query della vista (1), sostituisca automaticamente nell'sql di questa il nome della tabella di default ('TOPOLINO' nell'esempio) con quello passato (es. 'MINNIE') ottenendo, quale risultato:

(2) SELECT * FROM MINNIE

In pratica, ti (vi) sto chiedendo se è possibile leggere, da una vista o sp, il testo sql di un'altra vista o sp.

Enjoy!
non mi si è mai presentato un problema del genere, ma le viste si possono basare su altre viste ed è possibile su di esse eseguire SP.

ciao marco

p.s. ti ringrazio per i complimenti ma ho semplicemente fatto copia/incolla :)

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.