Oracle10gを使用してテーブルを作るところなのですが、タイムスタンプをOracle側で自動的に挿入することは可能でしょうか?
つまり
CREATE TABLE TEST (
ID NUMBER PRIMARY KEY,
NAME VARCHAR(10),
ENTRY TIMESTAMP
);
というテーブルを作成した場合、データをinsertする際にOracleが勝手にその瞬間の時間を格納するようにしたいです。
insert into test values (1, 'taro');
とすると1, 'taro', 現在時刻がデータベースに格納される。。

初心者ですみませんがご存知の方いらっしゃいましたらご教示下さい。
宜しくお願いします。

A 回答 (1件)

CREATE TABLE TEST (


デフォルト設定をしましょう。
DEFAULT systimestampをつけてあげればOKです。

ID NUMBER PRIMARY KEY,
NAME VARCHAR(10),
ENTRY TIMESTAMP DEFAULT systimestamp
);

表が作成されました。

SQL> insert into test (id,name) values (1, 'taro');

1行が作成されました。

SQL> select * from test;
ID NAME ENTRY
---------- ---------- ---------------------------------------------------------------------------
1 taro 09-05-27 10:58:24.567349
    • good
    • 0
この回答へのお礼

出来ました。有り難うございました。

お礼日時:2009/05/27 12:26

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

このQ&Aを見た人はこんなQ&Aも見ています

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q日付型カラムへのデータINSERT

お世話になります。ひとつご教授ください。

オラクル10g, ojdbc14でjdk1.4.2から接続です。

INSERT命令を使ってテーブルにレコードを追加する際に、DATE型のカラムに対して

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27 12:00:00', ...);

を実行するとエラーORA-01861が出ます。そこで

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27', ...);

このように記述して再度実行すると通ります。

このようなとき、時間の部分まで設定した値をカラムに格納したいときはどうしたらよろしいでしょうか?

よろしくお願いします。

Aベストアンサー

ごめんなさい。
説明と文例が違ってしまいました。
正しくはこちらです。

INSERT TABLE_A (DATE1, ...) VALUES (to_date('2006-4-27 12:00:00','yyyy/mm/dd hh24:mi:ss'), ...);
というように、to_date関数を使うのが一般的かと思います。

QOracle(オラクル)で、日付時刻型の検索方法について

質問させていただきます。
データベースはオラクルを使っていて、
SQL文で、抽出するときにエラーが出て困っています。

日付時刻型が「2005/05/26 19:13:00」という感じで入ってます。
2005/05/26 を抽出したいのですが、
BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59'

だと、エラーでできません。
どなた様か、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

日付検索を行う場合は、以下のように書式を含める必要があります。

col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS')

ただ、厳密には

col >= TO_DATE('2005/05/26', 'YYYY/MM/DD')
AND
col < TO_DATE('2005/05/27', 'YYYY/MM/DD')

と書くべきでしょうね。

Qtimestampのデータはどのようにして入力

するのでしょうか?

create table tablex(no serial primary key,time timestamp);

insert into tablex(time) values(?);

において?の部分に入れる文字列のフォーマットはどうなるのでしょうか?

例えば
2005年5月5日5時55分55秒
を入れるにはどうしたらいいのでしょうか?

Aベストアンサー

'2005-05-05 05:55:55'

Qsqlplusで表示が変なので、出力を整形したい。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------

上記のように意味不明な形式で出てきます。

例えばこんな風に

select カラム1,カラム2,カラム3 from hoge;

カラム1 1の値
---------------------------
カラム2 2の値
---------------------------
カラム3 3の値

等のように分かりやすく表示できないでしょうか?

ちなみにOracle9iR2を使用しています。
sqlに関するツールは使用できないルールでして、あくまでsqlplusのコマンド上でみやすくしなければなりません。

分かりづらくですいませんが、皆さま、ご教授お願いします。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
-----------------------...続きを読む

Aベストアンサー

SQLPLUSを起動して、

SQL>set linesize 列数

でどうだ。

SQL>show linesize

で確認ができる。

Q3つの表の外部結合

表A、B、Cの3つがあり、Aのすべての行を出力したいと考えています。
外部結合を用いるのだとは思うのですが、3つの表に対して行う場合の
書き方がわからず困っています。
ご教授いただけないでしょうか?
select * from a,b,c
where a.商品ID =b.商品ID (+) and b.商品ID (+) =c.商品ID (+)
としてみましたが、うまくいきませんでした。

Aベストアンサー

ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・

select *
from a
left join b on (a.商品ID =b.商品ID)
left join c on (b.商品ID =c.商品ID)
where a.年月 = 任意の値

と書くのが一般的でしょうね。

QTIMESTAMPについて

いつもお世話になっております。
テーブルを作成しているのですが、
仕様書にTIMESTAMP(9)
とデータ型の指定が記入されています。
TIMESTAMPとTIMESTAMP(9)の違いを調べているのですが、
サイトを検索しても、書籍を見ても書いてありません。
この二つの違いとは何でしょうか?
どうかご教授お願いします。

Aベストアンサー

TIMESTAMP = TIMESTAMP(6) です。
たしかマニュアルに書いてあると思います。

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

QViewにインデックスは張れますか?

件名の通りなのですが、作成したViewが遅くて困っています。
改善方法としてはViewを作成しないで従来のSQLにインデックスを張って取得する方法にしようかなと考えています。
なにかいい方法はありますか?

Aベストアンサー

Viewの元テーブルに適切なIndexを貼る、ではいけないのですか?

QOracle 10gで順序sequenceの作成(定義)した内容を見るには?

Oracle 10gで順序sequenceの作成(定義)した内容を見るにはどうしたらよいのでしょうか?
desc sequence_nameでは SP2-0381: DESCRIBE sequenceは使用できませんと表示されます。

Aベストアンサー

 次の検索を実行してください。

 select * from user_sequences where sequence_name = "find_sequence";

where句のfind_sequeceの所は、探したいsequenceの名前を入れてください。もし、where句を省略すると自分の保有するすべての順序が出てきます。
 出てくる各列の意味は、次の通りです。

 sequence_name 順序名
 min_value 順序の最小値
 max_value 順序の最大値
 increment_by 順序の間隔
 cycle_flag 順序が最大値の後、最初の値に戻るかどうか
 order_flag 順序番号が順番に生成されるかどうか
 cache_size 順序のキャッシュの量

 この表は、システム表の一つで、順序の定義すべてを管理しています。(正確には、システム表へのビューですが。)
 もし、あなたに、それなりの権限があるのであれば、all_sequences表を検索すれば、システムにおいてあなたが使用できるすべての順序がリストできますし、dba_sequencesを検索すれば、システム上に存在するすべての順序をリストできます。ただし、dba_ で始まるシステム表の検索は、権限が必要です。また、与えられた権限にかかわらず、この表への挿入・削除・変更は、すべて不可です。念のため。

 次の検索を実行してください。

 select * from user_sequences where sequence_name = "find_sequence";

where句のfind_sequeceの所は、探したいsequenceの名前を入れてください。もし、where句を省略すると自分の保有するすべての順序が出てきます。
 出てくる各列の意味は、次の通りです。

 sequence_name 順序名
 min_value 順序の最小値
 max_value 順序の最大値
 increment_by 順序の間隔
 cycle_flag 順序が最大値の後、最初の値に戻るかどうか
 order_flag 順序番号が順番に生成...続きを読む

Qequalsの逆

javaで、文字列の場合は比較演算子の「==」は用いずに

if ((str1.getText()).equals(str2)){
(※…str1,2は文字列)

と書きますよね?
この逆で、文字列str1とstr2は等しくないとき、にはif以下の条件文をどのように書けばよいでしょうか?

Aベストアンサー

>if !((str1.getText()).equals(str2)){

あくまで
if(){
}


!(str1.getText()).equals(str2)
が入っているので
if !((str1.getText()).equals(str2)){
じゃなくて
if (!(str1.getText()).equals(str2)){
こう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報