String Oracle变量名为Oracle值
我已经创建了一些变量。我想使用变量名作为另一个查询的输入。 在Oracle中是否有任何方法可以将局部变量名作为字符串值获取 示例场景String Oracle变量名为Oracle值,string,oracle,plsql,String,Oracle,Plsql,我已经创建了一些变量。我想使用变量名作为另一个查询的输入。 在Oracle中是否有任何方法可以将局部变量名作为字符串值获取 示例场景 declare FASTFUNDS VARCHAR(100); begin FASTFUNDS := 'TEST001'; SELECT v_variable, v_value FROM v_Table WHERE v_variable = FASTFUNDS.toString() 结果 这不是Java代码,因此没有任何字符串类型,而是您定义的VARC
declare
FASTFUNDS VARCHAR(100);
begin
FASTFUNDS := 'TEST001';
SELECT v_variable, v_value FROM v_Table WHERE v_variable = FASTFUNDS.toString()
结果
这不是Java代码,因此没有任何字符串类型,而是您定义的VARCHAR 只需删除.toString,它将是一个有效语句:
SELECT v_variable, v_value FROM v_Table WHERE v_variable = FASTFUNDS;
我不知道你的目标,但我会这样做。什么是v_变量?你没有声明那个变量。它来自哪里?那么v_表有什么用途呢?您不能简单地在PL/SQL中选择—这与普通SQL不同。您必须选择一些内容-很可能是v_变量,v_值从表中的列中选择-从存储的表中选择程序变量是没有意义的!
SELECT v_variable, v_value FROM v_Table WHERE v_variable = FASTFUNDS;
declare
FASTFUNDS VARCHAR(100);
stmt varchar2(50);
begin
FASTFUNDS := 'TEST001';
stmt := 'SELECT v_variable, v_value FROM v_Table WHERE v_variable = '|| FASTFUNDS;
EXECUTE IMMEDIATE stmt;
end;