Oracle 在PL/SQL中插入类似var的表

Oracle 在PL/SQL中插入类似var的表,oracle,plsql,Oracle,Plsql,我是新来的PL/SQL,我正在尝试做以下工作: 通过var,将其像表格一样插入: DECLARE VL_TABLE_NAME VARCHAR2(100); BEGIN VL_TABLE_NAME := 'TABLE_NAME'; SELECT * FROM VL_TABLE_NAME; 你知道怎么做吗?我有个主意。您可以使用executeimmediate DECLARE VL_TABLE_NAME VARCHAR2(100); V_SQL VARCHAR2(400

我是新来的
PL/SQL
,我正在尝试做以下工作:

通过var,将其像表格一样插入:

DECLARE
  VL_TABLE_NAME VARCHAR2(100); 
BEGIN
  VL_TABLE_NAME := 'TABLE_NAME';
  SELECT *
  FROM VL_TABLE_NAME;

你知道怎么做吗?

我有个主意。您可以使用
executeimmediate

DECLARE
  VL_TABLE_NAME VARCHAR2(100); 
  V_SQL VARCHAR2(4000);
BEGIN
  VL_TABLE_NAME := 'TABLE_NAME';
  V_SQL := 'SELECT * FROM ' || VL_TABLE_NAME;  
  EXECUTE IMMEDIATE V_SQL;
END;
有关本条款的更多信息,请阅读此处

您也可以使用
DBMS\u SQL

我有个主意。您可以使用
executeimmediate

DECLARE
  VL_TABLE_NAME VARCHAR2(100); 
  V_SQL VARCHAR2(4000);
BEGIN
  VL_TABLE_NAME := 'TABLE_NAME';
  V_SQL := 'SELECT * FROM ' || VL_TABLE_NAME;  
  EXECUTE IMMEDIATE V_SQL;
END;
有关本条款的更多信息,请阅读此处

您也可以使用
DBMS\u SQL

要从参数化表中进行选择,您需要将查询构建为字符串,然后执行它。要在变量中“捕获”返回,还需要指定一个“INTO”子句


要从参数化表中进行选择,您需要将查询构建为字符串,然后执行它。要在变量中“捕获”返回,还需要指定一个“INTO”子句


因为表名和字段不能是变量。此概念是不受支持的语法。。要使其工作,必须使用动态SQL(一个变量)生成整个select语句,然后使用execute VL_SQL。所以类似于
VL|u SQL:=“从”|| VL|u TABLE|u NAME|“中选择*”
然后
执行VL_SQL
示例:更多关于或使用,但不完全是你在想什么@xQbert。它起作用了!因为表名和字段不能是变量。此概念是不受支持的语法。。要使其工作,必须使用动态SQL(一个变量)生成整个select语句,然后使用execute VL_SQL。所以类似于
VL|u SQL:=“从”|| VL|u TABLE|u NAME|“中选择*”
然后
执行VL_SQL
示例:更多关于或使用,但不完全是你在想什么@xQbert。它起作用了!