select sysdate from dual;

解决方案 »

  1.   

    select sysdate from dual;
    或者select sysdate from 任何一张你自己建立的表
    还可以通过select to_char(sysdate,'yyyy-mm-dd') from dual;
    来转换格式
      

  2.   

    谢谢大家的帮助,我写了个过程,可是编译有错误,该过程就是写日志表请大家帮忙
    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;
      

  3.   

    SELECT SYSTEM INTO ADATE FROM dual;--语句中的SYSTEM 应为sysdate.
      

  4.   

    SQL> select to_char(sysdate,'hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'HH24:MI:SS')
    -----------------------------
    13:54:43
      

  5.   

    to_char(sysdate,'YYYY/MM/DD hh24:mi:ss')
      

  6.   

    真是太感谢大家了,紧接着的一个问题和DELPHI有关,希望能继续得到大家的帮助;在大家的帮助下存储过程已经编译通过并且在SQLPLUS中也运行良好,但是当我在DELPHI中调用时却出现了问题,我的调用过程如下:procedure TDBHouse.WriteLog(AErrType, ALogHintType, ALogPerson,
                                           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的存储过程就是对的,这是怎末回事呢???
      

  7.   

    不知道你是指什末?首先存储过程是没有问题的,在各位高手的指导下编译和利用ORACLE的工具进行调用都是正确的,如果是问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','企业类编码管理'
    调用正确且数据写入成功
      

  8.   

    我不知道Delphi怎么调用函数,
    Ado.net是先添加要传递的参数并赋值,
    然后执行存储过程