我在ebs中创建了一个新用户:
user_name=$(echo $1 | cut -d':' -f2)
password=$(echo $2 | cut -d':' -f2)
sqlplus -s /NOLOG << EOF
connect apps/apps@<IP>:1521/VIS
declare
v_user_name varchar2(30):=$user_name;
v_password varchar2(30):=$password;
begin
fnd_user_pkg.createuser (
x_user_name => v_user_name,
x_owner => null,
x_unencrypted_password => v_password,
x_session_number => null,
x_start_date => sysdate,
x_end_date => null,
x_email_address => null
);
commit;
DBMS_OUTPUT.put_line ('User:'||v_user_name||'Created Successfully');
exception
when others then
DBMS_OUTPUT.put_line ('Unable to create User due to'||SQLCODE||'
'||SUBSTR(SQLERRM, 1, 100));
rollback;
end;
/
exit
EOF
我在分配行中收到错误如下。
v_password varchar2(30):= DEMO @ 123; *
第3行的错误:
ORA-06550:第3行,第32栏:
PLS-00103:当期待其中一个时遇到符号“123” 以下内容:
@
符号“在”123“之前插入以继续。
将v_user_name赋值为$ user_name;
时的错误相同
如何将值从shell传递到pl / sql块?