我遇到有关扫描pl / sql过程中的值的问题。当我执行该过程时,它会忽略 a:='& a&# 39 ;;
程序正文
create or replace PROCEDURE Testing
IS
a VARCHAR2(3);
BEGIN
DBMS_OUTPUT.PUT_LINE('Enter a : ');
a:='&a';
END Testing;
程序调用
SET SERVEROUTPUT ON;
cl scr;
Execute Testing;
输出
PL/SQL procedure successfully completed.
Enter a :
请有人帮助我吗??
答案 0 :(得分:2)
在SQL * Plus中,我们有提示和接受语法,但没有直接的方法可以在不使用PHP,Apex,Java,Scripting的情况下进行PL / SQL交互。我给你的脚本编写示例。
e.g。在Windows批处理中,以下代码将有所帮助。
1)测试程序的代码与您的代码相同
create or replace PROCEDURE Testing (arg varchar2)
IS
a VARCHAR2(3);
BEGIN
a:=arg;
DBMS_OUTPUT.PUT_LINE('Value of a : '||a);
END
2)test.bat
sqlplus nd211/nd211 @Testing.sql te1
sqlplus nd211/nd211 @Testing.sql te4
3)Testing.sql
set serveroutput on
exec Testing('&1');
exit;
测试; /
4)样本输出
Value of a : te1
PL/SQL procedure successfully completed.
Value of a : te4
PL/SQL procedure successfully completed.