簡體   English   中英

從表中選擇,名稱存儲在字段中

[英]Select from table, name is stored in the field

如何從名稱為數據集字段的某些表中加入某些數據?

像這樣:

SELECT *
FROM dataset
INNER JOIN dataset.table_name 
ON dataset.param_id = (dataset.table_name).id_(dataset.table_name)

您必須使用T-SQL將select語句構造為字符串。 然后,使用execute命令運行它。 例如:

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)

更新

這是(從Andrewst的回答引用用於Oracle的語法在這里 ):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM