You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle存储过程中将SYSDATE格式化存入变量报错问题求助

问题原因

你的代码违反了Oracle PL/SQL中SELECT INTO的语法规则,标准语法结构为:

SELECT 待查询的字段/表达式
INTO 变量名
FROM 表名
[WHERE 条件];

你把INTO子句直接放在SELECT关键字后面,和待查询的表达式顺序搞反了,所以运行会触发语法错误。

解决方案

方案1:修正SELECT INTO语法

CREATE OR REPLACE PROCEDURE XXX
AS
  l_date_string VARCHAR2(50);
BEGIN
  SELECT '['||TO_CHAR (SYSDATE, 'MMDDYYYY-HH24:MI:SS')||']' 
  INTO l_date_string 
  FROM dual;
END;
/

方案2:直接赋值(更高效,无需查询dual表)

PL/SQL中不需要通过查询dual表给变量赋值,直接用赋值语句即可,性能更好、代码更简洁:

CREATE OR REPLACE PROCEDURE XXX
AS
  l_date_string VARCHAR2(50);
BEGIN
  l_date_string := '['||TO_CHAR(SYSDATE, 'MMDDYYYY-HH24:MI:SS')||']';
END;
/

内容的提问来源于stack exchange,提问作者Pugzly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:15:03