这是我到目前为止所做的:
DECLARE startDate DATE:= to_date(’03 / 11/2011′,’dd / mm / yyyy’);
其中我得到了答复:
ORA-06550: line 1,column 63: PLS-00103: Encountered the symbol@H_404_9@ “end-of-file” when expecting one of the following:
begin function package pragma procedure subtype type use form current@H_404_9@ cursor
Details: DECLARE startDate DATE := to_date(’03/11/2011′,@H_404_9@ ‘dd/mm/yyyy’); Error at line 1 ORA-06550: line 1,column 63:@H_404_9@ PLS-00103: Encountered the symbol “end-of-file” when expecting one of@H_404_9@ the following:
begin function package pragma procedure subtype type use form current@H_404_9@ cursor
我很想知道如何做这么简单的任务!
DECLARE关键字用于定义PL / sql块中的变量(其主体由BEGIN和END分隔;).你想如何使用这个变量?
以下PL / sql对我来说很好:
DECLARE startDate DATE := to_date('03/11/2011','dd/mm/yyyy'); reccount INTEGER; BEGIN SELECT count(*) INTO reccount FROM my_table tab WHERE tab.somedate < startDate; dbms_output.put_line(reccount); END;
您还可以使用DEFINE
语句来使用简单的字符串替换变量.它们适用于sql / PLUS或TOAD等客户端.
DEFINE start_date = "to_date('03/11/2011','dd/mm/yyyy')" SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;