PLSQL读取输入
为什么这不起作用PLSQL读取输入,sql,Sql,为什么这不起作用 Declare type tablica is table of varchar2(30) index by binary_integer; tab tablica; i integer :=0; n integer :=0; inp integer:='&inp'; one varchar(20); Begin While n<3 Loop n:=n+1; tab(n):='&one'; End Loop; (....) 声明 tablica类
Declare
type tablica is table of varchar2(30)
index by binary_integer;
tab tablica;
i integer :=0;
n integer :=0;
inp integer:='&inp';
one varchar(20);
Begin
While n<3 Loop
n:=n+1;
tab(n):='&one';
End Loop;
(....)
声明
tablica类型为varchar2(30)的表格
通过二进制_整数进行索引;
tabtablica;
i整数:=0;
n整数:=0;
inp整数:='&inp';
一个varchar(20);
开始
而n为什么需要在PL/SQL中使用&呢?替换是SQL。这将有助于:
Declare
type tablica is table of varchar2(30) index by binary_integer;
tab tablica;
i integer :=0;
n integer :=0;
--inp integer:='&inp';
one varchar(20);
Begin
While n<3 Loop
n:=n+1;
If n = 1 Then
tab(n):='one';
elsif
n = 2 Then
tab(n):='two';
Else
tab(n):='three';
End if;
dbms_output.put_line(n||chr(9)||tab(n));
End Loop;
End;
/
声明
tablica类型是varchar2(30)索引由二进制_整数组成的表;
tabtablica;
i整数:=0;
n整数:=0;
--inp整数:='&inp';
一个varchar(20);
开始
在nHello中,我需要在选项卡(n)中输入几次信息,因此我使用了&,但循环正在运行,它只要求我输入一次并将其放入所有选项卡()-我想:步骤1:Loop->将我的输入从&inp放入选项卡(1),步骤2:Loop->覆盖&inp,将我的新输入放入选项卡(2),等等,但一旦我把东西放进&inp它就不会了change@user2107202-在PL/SQL中,您可以使用参数创建过程/函数,而不是使用&。然后运行该过程并将值替换为参数。使用您的代码,该过程将运行一次,并要求您输入一次值。然后它将返回您输入3次的值。这是你写的。把真实的数据和需求放在你的例子中。您好,就是这样。也许有人举过一个例子,如何创建一个循环,将输入动态地放入表变量中?这是错误的。OP没有发布过程或函数,而是一个匿名PL/SQL块,它完全能够接受替换参数。虽然不一定是最好的方法,但这是一种接受用户输入的简单方法。@Ben-我不是在争论,是的,在PL/SQL中使用&是可能的。但在现实世界中,你们通常不会做这样的事情。