Będziesz musiał skonstruować select jako ciąg przy użyciu T-SQL. Następnie użyj execute command, aby go uruchomić. Na przykład:
DECLARE @sql VARCHAR(MAX);
DECLARE @table_name VARCHAR(100);
SET @table_name = (SELECT TOP 1 table_name FROM dataset) ' TODO set criteria correctly here
SELECT @sql = 'SELECT * FROM dataset INNER JOIN ' & @table_name & ' ON dataset.param_id = ' & @table_name & '.id_' & @table_name & ';'
EXEC (@sql)
aktualizacji
To składnia Oracle (cytat z Andrewst „s odpowiedź here):
DECLARE
TYPE rc_type REF CURSOR;
rc rc_type;
table_rec table%ROWTYPE;
BEGIN
OPEN rc FOR 'select * from table';
LOOP
FETCH rc INTO table_rec;
EXIT WHEN rc%NOTFOUND;
-- Process this row, e.g.
DBMS_OUTPUT.PUT_LINE('Name: '||table_rec.name);
END LOOP;
END;
http://www.dbforums.com/oracle/718534-ms-sql-exec-equivalent.html
Jak to może być zrobić w wyroczni? – c4rrt3r
@ c4rrt3r Nie wiem prawie nic o Oracle, ale znalazłem powyższe z wyszukiwarki Google. Nadzieja, która pomaga. – McGarnagle
Zakładam, że pierwszy blok kodu działa tylko wtedy, gdy została ustawiona dokładnie jedna różna wartość dataset.table_name? –