Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Oracle变量名为Oracle值_String_Oracle_Plsql - Fatal编程技术网

String 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

我已经创建了一些变量。我想使用变量名作为另一个查询的输入。 在Oracle中是否有任何方法可以将局部变量名作为字符串值获取

示例场景

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;