如何将日期值传递给plsql中的游标?
|
基本上,我想将日期值传递给游标,然后为找到的每个列打印出整个行/记录。我遇到了麻烦,因为a)我不知道我的日期在BEGIN部分中是否正确转换,并且b)在以下情况下,我对\'PUT_LINE \'\的调用中得到了错误的数字或参数类型:打印每一行。
这是我到目前为止的内容:
DEFINE B_HIREDATE = 11-OCT-88
DECLARE
cursor DATE_CUR (the_date DATE) is
select * from employees
where hire_date > to_date(the_date, \'dd-mon-yy\')
order by hire_date;
r_emp DATE_CUR%ROWTYPE;
BEGIN
for r_emp IN DATE_CUR(\'&B_HIREDATE\') LOOP
dbms_output.put_line(r_emp);
end LOOP;
END;
/
即使将select语句更改为已知的单个字段名称,我也没有输出值。
没有找到相关结果
已邀请:
1 个回复
擅香
需要
参数或可以隐式转换的东西。您可以将多个值连接到一个调用中。好的格式并不容易。 日期转换几乎可以,但是在游标调用中应该有
,因为cursor参数期望是
。并且您应该在日期掩码中使用
代替
,或者最好使用4位数的年份和掩码
。
您不需要使用此游标语法将
明确声明为变量(但是使用
/
/
版本则需要)。 如果您是在SQL * Plus中运行此程序,则需要在开始处添加ѭ14才能显示
调用。您也可以在SQL Developer中执行此操作,或者有一个单独的窗格用于查看输出,您需要为工作表启用该窗格。