2012-05-14 28 views

Trả lời

3

Bạn sẽ phải xây dựng báo cáo kết quả lựa chọn như là một chuỗi sử dụng T-SQL. Sau đó, sử dụng execute command để chạy. Ví dụ:

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) 

Cập nhật

Đây là cú pháp cho Oracle (trích dẫn từ Andrewst 's câu trả lời 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

+0

Làm thế nào điều này có thể được thực hiện trong oracle? – c4rrt3r

+1

@ c4rrt3r Tôi biết hầu như không có gì về Oracle, nhưng tôi đã tìm thấy ở trên từ tìm kiếm của Google. Hy vọng rằng sẽ giúp. – McGarnagle

+0

Tôi giả sử khối mã đầu tiên chỉ hoạt động nếu có chính xác một giá trị riêng biệt được đặt dataset.table_name? –

Các vấn đề liên quan