重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

TransLogという、すべての処理のログを残す処理を行うテーブルがあります。
ログの入ってきた処理日を今日の日付(sysdate)で表示させるようにしたいのですがうまくいきません。
どうか、ご教授お願いします。

create table TransLog(
TransType varchar2(15),
TransDate to_char (sysdate, 'DD-MON-YY'),
TransTime to_char (sysdate, 'HH:MI:SS'),
TransInfo varchar2(35),
TransResult varchar2(5),
primary key (TransType)
);

これで実行すると、to_charのあとに'ORA-00907: missing right parenthesis'というエラーがでます。

A 回答 (2件)

こんにちは。



「DEFAULT」が必要です。
TransDate varchar2(10) default to_char(sysdate, 'DD-MON-YY'),
ですね。
(^^ゞ
    • good
    • 0
この回答へのお礼

あっ!なるほど。defaultとして指定しちゃうんですね。助かりました。ありがとうございます!

お礼日時:2005/03/15 10:41

こんにちは。



カラム名 型(VARCHAR2(10)とか) デフォルト値(ここにTO_CHAR()・・・)
じゃないでしょうか・・・。

自信ないですけど・・・。
(^^ゞ
    • good
    • 0
この回答へのお礼

言われたとおりにやってみました。
create table TransLog(
TransType varchar2(15),
TransDate varchar2(10) to_char(sysdate, 'DD-MON-YY'),
TransTime varchar2(10) to_char(sysdate, 'HH:MI:SS'),
TransInfo varchar2(35),
TransResult varchar2(5),
primary key (TransType)
);
こんな感じになりました。
すると前回のエラーは出なくなったのですが、あらたに、
create table TransLog(
            *
ORA-00922: missing or invalid option
こういうものがでるようになってしまいました。
何が足りないorおかしいのでしょうか。。。。

お礼日時:2005/03/14 11:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す