我是 PL/SQL 的新手,但有很多其他 SQL 经验,包括 Oracle(只是没有那么多脚本)。我想声明一个数字(整数)变量,将其设置为行数,并将其显示在句子换行的字符串中。本练习的最终目标是拥有一个打印字符串“There are 1 rows”的 SQL*Plus 脚本。
在 Unix 上的 SQL*Plus 中,我这样做:
SQL> variable v_dCnt number;
SQL> select count(*) into :v_dCnt from dual;
COUNT(*)
----------
1
SQL> select 'There are ' || :v_dCnt || ' rows' as MESSAGE from dual;
MESSAGE
-------------------------------------------------------
There are rows
请注意它如何显示空白v_dCnt
而不是值 1
在 Win7 上的 Rapid SQL 中,我会
variable v_dCnt number;
select count(*) into :v_dCnt from dual;
select 'There are ' || :v_dCnt || ' rows' from dual;
并得到 ORA-01008: not all variables bound
我究竟做错了什么?