select sysdate from dual; 或者select sysdate from 任何一张你自己建立的表 还可以通过select to_char(sysdate,'yyyy-mm-dd') from dual; 来转换格式
谢谢大家的帮助,我写了个过程,可是编译有错误,该过程就是写日志表请大家帮忙 CREATE OR REPLACE PROCEDURE "SYSTEM"."" ( ALogType IN VARCHAR2, ALogHintType IN VARCHAR2, ALogPerson IN VARCHAR2, ALogEvent IN VARCHAR2, ALogData IN VARCHAR2, ASysPamams IN VARCHAR2, AMODCaption IN VARCHAR2) AS ADATE DATE; BEGIN SELECT SYSTEM INTO ADATE FROM dual;--取掉此句就正确了,也就是说如何 --取得当前时间并付值给变量ADATE INSERT INTO LOGDATAINFO (LogType, LogHintType, LogPerson, LogEvent, LogData, SysPamams, MODCaption, DATETIME) VALUES (ALogType, ALogHintType, ALogPerson, ALogEvent, ALogData, ASysPamams, AMODCaption,ADATE); commit; END;
SELECT SYSTEM INTO ADATE FROM dual;--语句中的SYSTEM 应为sysdate.
SQL> select to_char(sysdate,'hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'HH24:MI:SS') ----------------------------- 13:54:43
或者select sysdate from 任何一张你自己建立的表
还可以通过select to_char(sysdate,'yyyy-mm-dd') from dual;
来转换格式
CREATE OR REPLACE PROCEDURE "SYSTEM"."" (
ALogType IN VARCHAR2,
ALogHintType IN VARCHAR2,
ALogPerson IN VARCHAR2,
ALogEvent IN VARCHAR2,
ALogData IN VARCHAR2,
ASysPamams IN VARCHAR2,
AMODCaption IN VARCHAR2)
AS
ADATE DATE;
BEGIN
SELECT SYSTEM INTO ADATE FROM dual;--取掉此句就正确了,也就是说如何
--取得当前时间并付值给变量ADATE
INSERT INTO LOGDATAINFO (LogType, LogHintType, LogPerson, LogEvent, LogData, SysPamams, MODCaption, DATETIME)
VALUES (ALogType, ALogHintType, ALogPerson, ALogEvent, ALogData, ASysPamams, AMODCaption,ADATE);
commit;
END;
-----------------------------
13:54:43
ALogEvent, ALogData, ASysPamams, AMod: String);
var
lProcWriteLog: String;
begin
lProcWriteLog :=Format('Execute WriteLog (''%S'', ''%S'', ''%S'', ''%S'', ''%S'', ''%S'', ''%S'')', [
AErrType, ALogHintType, ALogPerson, ALogEvent, ALogData, ASysPamams, AMod]);
qryPub.Close;
qryPub.SQL.Clear;
qryPub.SQL.Add(lProcWriteLog);
qryPub.ExecSQL;
end;结果给出错误提示:
General SQL error.
ORA-00900: 无效 SQL 语句如果是调用SQLSERVER的存储过程就是对的,这是怎末回事呢???
CREATE PROCEDURE WRITELOG(
@LogType VARCHAR(2),
@LogHintType VARCHAR(2),
@LogPerson VARCHAR(20),
@LogEvent VARCHAR(300),
@LogData VARCHAR(200),
@SysPamams VARCHAR(2),
@MODCaption VARCHAR(20))
AS
declare @DateTime DateTime
Select @DateTime=GetDate()
INSERT INTO LOGDATAINFO (LogType, LogHintType, LogPerson, LogEvent, LogData, SysPamams, MODCaption, DateTime)
VALUES (@LogType, @LogHintType, @LogPerson, @LogEvent, @LogData, @SysPamams, @MODCaption, @DateTime)
GO
我在DELPHI的SQL Explorer中执行如下语句
ORACLE数据库
EXECUTE WriteLog('0','0','系统管理员','删除企业类编码:SSSS',' ','0','企业类编码管理')
然后有错误提示
General SQL error.
ORA-00900: 无效 SQL 语句
SQLSERVER数据库
EXECUTE WriteLog '0','0','系统管理员','删除企业类编码:SSSS',' ','0','企业类编码管理'
调用正确且数据写入成功
Ado.net是先添加要传递的参数并赋值,
然后执行存储过程