有时候需要在shell中 调用数据库操作。脚本框架如下:
sqlplus -s username/password@SID<<!
--此时已进入sqlplus环境了
--结尾叹号“!”表示sqlplus将会以“!”结束。
--变量声明
variable v_start_time varchar2(20);
variable v_user_id varchar2(10);
--shell参数可以直接使用
select $1 into : v_user_id from dual;
v_user_id:='10000010'
--sql语句执行 注意不要丢掉变量之前的 冒号
execute select to_char(sysdate,'yyyymmddhh24mmss') into :v_start_time from dual;
--此句不需要 冒号
print v_start_time;
insert into tablename
(user_id)
values
(:v_user_id);
--执行存储过程
exec procedurename_p(:arguments);
#结束,退出shell
exit
!
sqlplus -s username/password@SID<<!
--此时已进入sqlplus环境了
--结尾叹号“!”表示sqlplus将会以“!”结束。
--变量声明
variable v_start_time varchar2(20);
variable v_user_id varchar2(10);
--shell参数可以直接使用
select $1 into : v_user_id from dual;
v_user_id:='10000010'
--sql语句执行 注意不要丢掉变量之前的 冒号
execute select to_char(sysdate,'yyyymmddhh24mmss') into :v_start_time from dual;
--此句不需要 冒号
print v_start_time;
insert into tablename
(user_id)
values
(:v_user_id);
--执行存储过程
exec procedurename_p(:arguments);
#结束,退出shell
exit
!