ORACLEとSQLSERVERでのTIMESTAMP型の違い
ORACLEのTIMESTAMP型の項目をSQLSERVERにそのままリプレイスすると
処理内で登録/更新しようとした際に以下のようなエラーになる
・登録
timestamp 列に明示的な値を挿入できません。timestamp 列を除外する列リストを指定して INSERT を使用するか、timestamp 列に DEFAULT を挿入してください。
・更新
timestamp 列は更新できません。
Why?
ORACLEでは日時を表す型としてTIMESTAMP型を使用しているが、
SQLSERVERではTIMESTAMP型は少し位置づけが異なるため。
SQL ServerのTIMESTAMP型はユーザーによって設定されない想定の型であるため、上記エラーになるとのこと。
※中身もバイナリっぽいですので、そもそもそのまま人が見ることは想定しない項目の様子。
なので、datetime もしくは datetime2にする必要がある。
どっちが悪いとかではないんだろうけど、同じ型名で全然違うものを示すのはやめてほしいところ。
Author And Source
この問題について(ORACLEとSQLSERVERでのTIMESTAMP型の違い), 我々は、より多くの情報をここで見つけました https://qiita.com/ryo_naka/items/8916730cb06027bdf505著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .