Rav*_*ale 10 oracle user-input oracle10g
我想在oracle 10g pl/sql块中获取用户的运行时输入(即与用户进行交互式通信),是否可能?
declare
x number;
begin
x=&x;
end
Run Code Online (Sandbox Code Playgroud)
此代码在oracle 10g中提供错误,因此无法使用.
Nic*_*nov 21
要读取用户输入并将其存储在变量中以供以后使用,可以使用sqlplus命令ACCEPT.
Accept <your variable> <variable type if needed [number|char|date]> prompt 'message'
Run Code Online (Sandbox Code Playgroud)
例
accept x number prompt 'Please enter something: '
Run Code Online (Sandbox Code Playgroud)
然后您可以x在PL/SQL块中使用该变量,如下所示:
declare
a number;
begin
a := &x;
end;
/
Run Code Online (Sandbox Code Playgroud)
使用一个刺痛的例子:
accept x char prompt 'Please enter something: '
declare
a varchar2(10);
begin
a := '&x'; -- for a substitution variable of char data type
end; -- to be treated as a character string it needs
/ -- to be enclosed with single quotation marks
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108586 次 |
| 最近记录: |