0

是否可以从 Oracle 中的变量中检索表名?

我想做这样的事情:

DECLARE
    v_tab VARCHAR2(200) := adm.t4_to@wtaa;
    cnt   NUMBER;
BEGIN
    SELECT Count(*)
    INTO   cnt
    FROM   v_tab;
END; 

当我尝试运行该块时,出现错误:

Error report -
ORA-06550: linia 3, kolumna 24:
PLS-00224: object 'adm.t4_to@wtaa' must be of type function or array to be used this way
4

1 回答 1

1

用这个

DECLARE
  v_tab VARCHAR2(200) := 'adm.t4_to@wtaa' ;
  cnt   NUMBER;
BEGIN
  Execute immediate 'SELECT Count(*) from ' || v_tab 
  INTO   cnt;
END; 
于 2021-07-15T09:01:06.220 回答