0
shell腳本,SQL文件,我已經開發了下面的代碼從shell腳本調用SQL文件testshell.sh
調用從參數
#!/usr/bin/env ksh
feed=`sqlplus -s uname/pwd <<-EOF
@test.sql 'Test_VAl'
/
exit;
EOF`
echo $feed;
我的SQL文件是test.sql
其中包含以下內容:
Declare
attributeName varchar2(255):=&1;
BEGIN
DBMS_OUTPUT.put_line (attributeName);
END;
我在執行時遇到錯誤。
old 3: attributeName varchar2(255):=&1;
new 3: attributeName varchar2(255):=Test_VAl;
attributeName varchar2(255):=Test_VAl; test.sql testshell.sh
ERROR at line 3:
ORA-06550: line 3, column 31: PLS-00201: identifier 'TEST_VAL' must be declared
ORA-06550: line 3, column 16: PL/SQL: Item ignored
ORA-06550: line 5, column 25: PLS-00320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 5, column 3: PL/SQL: Statement ignored
請告訴我如何解決此問題。
感謝亞歷克斯。 這是問題所在。我在sqldeveloper中嘗試了相同的代碼,它工作正常,這讓我相信sql部分是正確的。 –