我知道可以通过管道读取命令输出吗?但是获得回报价值呢?例如,我想执行:
execl("/bin/ping", "/bin/ping" , "-c", "1", "-t", "1", ip_addr, NULL);
Run Code Online (Sandbox Code Playgroud)
如何获取ping命令的返回值以查明它是返回0还是1?
在我的 bash 脚本中,我试图执行以下 Linux 命令:
sed -i "/$data_line/ d" $data_dir
Run Code Online (Sandbox Code Playgroud)
$data_line 由用户输入,它可能包含可能会破坏正则表达式的特殊字符。在执行 sed 命令之前,如何转义 $data_line 中所有可能的特殊字符?
我正在尝试学习Oracle表单(v6.0).在按下按钮的触发器中,我试图遍历数据块中的所有记录.到目前为止,我有以下代码:
BEGIN
GO_BLOCK('MY_BLOCK');
FIRST_RECORD;
LOOP
MESSAGE(:MY_BLOCK.DSP_NAME);
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,除最后一个之外,显示所有DSP_NAME值.如果我添加:
MESSAGE(:MY_BLOCK.DSP_NAME);
Run Code Online (Sandbox Code Playgroud)
循环之后,将显示最后一条记录的DSP_NAME值.为什么会这样 - 在最后一次记录检查之前显示消息?什么是循环记录的正确方法?
是否可以将类型为'stored_procedure'的命名参数传递给dbms_scheduler作业?我已经尝试过这种方式:
-- 1) example dummy procdure
CREATE OR REPLACE PROCEDURE my_test_proc (
param1 IN NVARCHAR2,
param2 IN NUMBER,
param3 IN NUMBER
) IS
BEGIN
-- ...
END;
-- 2)Example dummy job:
BEGIN
dbms_scheduler.create_job(
job_name => 'my_test_job'
,job_type => 'STORED_PROCEDURE'
,job_action => 'my_test_proc'
,start_date => sysdate
,number_of_arguments => 3
,enabled => FALSE
,auto_drop =>FALSE
);
END;
-- 3)Set named param value:
BEGIN
dbms_scheduler.set_job_argument_value(
job_name => 'my_test_job'
,argument_name => 'param1'
,argument_value => 'some value'
);
END;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:ORA
-27484:没有程序的作业不支持参数名称。ORA-06512:在“ SYS.DBMS_ISCHED”处,第207行ORA-06512:在“ SYS.DBMS_SCHEDULER”中,行602 ORA-06512:在第2行中
我通过使用arguments_position设置成功使用set_job_argument_value设置了参数值。但是在某些情况下,我需要运行存储过程,而我只需要为其设置某些参数,而这是行不通的。有没有一种方法可以将命名参数传递给计划程序作业运行的存储过程?
plsql stored-procedures named-parameters oracle10g dbms-scheduler