在oracle11g 中运行下列代码为什么会提示ORA1-01008 并非所有变量都已绑定

declare
cursor login (tuser Users.UserName%type,tpwd Users.UserPwd%type)
is
select * from Users
where UserName=tuser and UserPwd=tpwd;
loginrow login%rowtype;
begin
open login(:login.tuser,:login.tpwd);
fetch login into loginrow;
if login%found then
go_block('main');
message('登录成功');commit;
:login.tuser:='';
:login.tpwd:='';

:global.quanxian:=loginrow.quanxian;
:global.userno:=loginrow.userno;
:global.punish:=0;
else
message('对不起,用户名或密码错误,请重新输入');commit;
:login.tuser:='';:login.tpwd:='';
end if;
close login;
end;
图片说明

有没有大神能解答一下呢

cursor login (tuser Users.UserName%type,tpwd Users.UserPwd%type) 这里参数 没传全

你是怎么调用的,参数传的什么?UserName和UserPwd都给了么?
另外,提示你12行错误,但是在这里看不到哪个是12行。你在你的oracle检查下,注意标点符号和变量名有没有写错。

参数 空的——————————————————————————————————

我发表的博客里面 有关oracle单机和rac都很全面 参考一下 希望能帮到你