d_rq date;d_rq:=to_date('2008-01-01','YYYY-MM-DD');或者 select to_date('2008-01-01','YYYY-MM-DD') into d_rq from dual;= 相当于 == := 才是 赋值
PL/SQL Developer给出的错误如下:Error: PLS-00103: 出现符号 "="在需要下列之一时: constant exception <an identifier> <a double-quoted delimited-identifier> table LONG_ double ref char time timestamp interval date binary national character nchar Line: 11 Text: d_qsrq=to_date('01-2月-08','DD-MON-RR');
修改为d_qsrq:=to_date('01-2月-08','DD-MON-RR');Error: PLS-00103: 出现符号 "="在需要下列之一时: constant exception <an identifier> <a double-quoted delimited-identifier> table LONG_ double ref char time timestamp interval date binary national character nchar 符号 "<an identifier>" 被替换为 "=" 后继续。 Line: 11 Text: d_qsrq:=to_date('01-2月-08','DD-MON-RR');
d_rq:=to_date('2008-01-01','YYYY-MM-DD');
d_rq:=to_date('2008-01-01','YYYY-MM-DD');
declare d DATE; begin d:=to_date('01-2月-08','DD-MON-RR'); dbms_output.put_line(d); end; 按照你写的是没问题的,可能是其他地方造成的
:= 才是 赋值,haha
这是我新建的一个测试过程..LZ看了就明白了.晕倒.还要我亲自写出全过程来./* Formatted on 2008/04/28 17:57 (Formatter Plus v4.8.8) */ --新建表TAB1 CREATE TABLE tab1 (d_rq VARCHAR2(30)); --创建实例过程 CREATE OR REPLACE PROCEDURE kokuyobj.TEST (st_num IN NUMBER, ed_num IN NUMBER) IS BEGIN DECLARE i NUMBER; d_rq DATE; BEGIN d_rq := TO_DATE ('2008-01-01', 'YYYY-MM-DD'); FOR i IN st_num .. ed_num LOOP INSERT INTO tab1 VALUES (d_rq); END LOOP; END; END;--最后查看结果 SELECT * FROM tab1
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE代码修改为d_rq=to_date(‘20080101','DD-MON-RR') 还是报错
比如:select TO_DATE('05-5月-05','DD-MON-RR') from dual;
还是错误
select to_date('2008-01-01','YYYY-MM-DD') into d_rq from dual;= 相当于 ==
:= 才是 赋值
constant exception
<an identifier> <a double-quoted delimited-identifier> table
LONG_ double ref char time timestamp interval date binary
national character nchar
Line: 11
Text: d_qsrq=to_date('01-2月-08','DD-MON-RR');
constant exception
<an identifier> <a double-quoted delimited-identifier> table
LONG_ double ref char time timestamp interval date binary
national character nchar
符号 "<an identifier>" 被替换为 "=" 后继续。
Line: 11
Text: d_qsrq:=to_date('01-2月-08','DD-MON-RR');
d_rq:=to_date('2008-01-01','YYYY-MM-DD');
d DATE;
begin
d:=to_date('01-2月-08','DD-MON-RR');
dbms_output.put_line(d);
end;
按照你写的是没问题的,可能是其他地方造成的
--新建表TAB1
CREATE TABLE tab1 (d_rq VARCHAR2(30));
--创建实例过程
CREATE OR REPLACE PROCEDURE kokuyobj.TEST (st_num IN NUMBER, ed_num IN NUMBER)
IS
BEGIN
DECLARE
i NUMBER;
d_rq DATE;
BEGIN
d_rq := TO_DATE ('2008-01-01', 'YYYY-MM-DD'); FOR i IN st_num .. ed_num
LOOP
INSERT INTO tab1
VALUES (d_rq);
END LOOP;
END;
END;--最后查看结果
SELECT * FROM tab1