Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
单引号参数在传递到oracle函数并从shell脚本调用时转换为双引号参数_Oracle_Shell - Fatal编程技术网

单引号参数在传递到oracle函数并从shell脚本调用时转换为双引号参数

单引号参数在传递到oracle函数并从shell脚本调用时转换为双引号参数,oracle,shell,Oracle,Shell,我正在尝试从shell脚本执行一个oracle函数。 此函数只接受两个字符串参数,并返回其连接字符串的完整值。 下面是oracle函数 create or replace package temp as function getName(v_fname in varchar2, v_lname varchar2) return varchar2; end temp; create or replace package body temp as function getName(

我正在尝试从shell脚本执行一个oracle函数。 此函数只接受两个字符串参数,并返回其连接字符串的完整值。 下面是oracle函数

create or replace package temp as
    function getName(v_fname in varchar2, v_lname varchar2) return varchar2;
end temp;

create or replace package body temp as
    function getName(v_fname in varchar2, v_lname in varchar2) return varchar2 is
    v_fullname varchar2(17);
    begin
        --DBMS_OUTPUT.PUT_LINE(v_name);
        v_fullname := concat(v_fname,v_lname);
        return v_fullname;
    end getName;
end temp;
/
下面是shell脚本的片段

fullname=$(sqlplus -s myuser/password@DBinstance << !
set heading off
set feedback off
SELECT TEMP.GETNAME('Vishal','Tavande') FROM DUAL;
!)
echo $fullname

fullname=$(sqlplus-s myuser)/password@DBinstance哪一个shell?在Linux下的bash/ksh中可以像预期的那样工作…我想我得到了答案…我必须以“'”格式将字符串的值存储在变量中,并在函数中使用这些变量。例如,var1=“'Vishal”'var2=“'Tavande””,并将方法调用为SELECT TEMP.GETNAME($var1,$var2)从DUALI开始,我不确定您是否已经显示了实际的shell脚本;您是否真的已经在调用中使用了变量,而不是您显示的硬编码值?