Oracle

Oracle にも OFFSET FETCH が入ってたので Doma の対応コード書いてみた。

仕事で Oracle12c を触る機会があって気付いたのですが、Oracle12c から OFFSET FETCH が入ってたようです。 第37回 新しいSQLについて 構文が SQL Server と似た感じですね。 ※正確な構文はこちらから SELECT SQL Server との違いで ORACLE の方が便利そう…

Oracle の add_months を SQL Server に実装する

昨日これ書いたので Oracle の add_months を SQL Server dateadd(month, ~) の結果と同じにするのを考えてみる‏ - お だ のスペース どうせなら逆も用意しようかなと。*1 add_months から dateadd(month, ~) は、元が月末の時は、必ず月末になるようにした…

Oracle の add_months を SQL Server dateadd(month, ~) の結果と同じにするのを考えてみる‏

twitter で見かけたのでちょっと考えてみる。 SQL Server select dateadd(month, 1, cast('2016/02/29' as date)) -- 2016/03/29 Oracle select add_months('2016/02/29', 1) from dual -- 2016/3/31 足す前の日付と足した後の日付の 日 の部分が違った場合…

複数の列で in 句を使いたい

タイトルのような質問をもらったのでちょっと書いてみる。 テーブルはこんなのを用意しました。 create table 受注 ( 受注番号 char(6) not null, 受注枝番 char(2) not null, 金額 int not null, constraint PK_受注 primary key (受注番号, 受注枝番) ) 複…

N行のデータを「区切り文字を使って1列1行」にして返すクエリ

大分前にこんなの書いてました 1列N行のデータを「区切り文字を使って1列1行」にして返すアドホックなクエリ - お だ のスペース が、Oracle で良いのを見つけました。 LISTAGG(集計関数) - オラクル・Oracle SQL 関数リファレンス 11gR2 から使える LISTA…

OracleText で日本語を含んだパスだとインデックスが作成されない

メモ: リンク先は 10gR2 ですが、11gR2 でもダメな感じでした。 Oracle Technology Network (OTN) Japan - 掲示板 : OracleTextの日本語ファイル名 ... 10.1 だと出来てたんですかねー?

ScriptDom を使って、SELECT で取得しているカラム名を取得するサイト作ったった

T-SQL の パーサーとジェネレーター(ScriptDom)の紹介 - お だ のスペース で紹介した、ScriptDom Sample を隣の人に見せたら、SELECT の列名(エイリアス着けた場合は、エイリアスで)一覧抜き出せないのって聞かれたからやっつけで追加したった。*1 ScriptDo…

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。解決編

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する - お だ のスペース ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。その 2 - お だ のスペース の続きです。 ODP…

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。その 2

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する - お だ のスペース の続き といっても大した事ではなくて、同じ現象の人が他にもいたよーって事です。 Oracle のフォーラムに投げてたんですが進展せずでしたが…

ORACLE 9i を使う際に、バインド変数に長い文字列を指定する場合の注意

バインド変数の値が 2000文字(ASCII)以上のになるものが複数存在すると、何故か「ORA-01461: LONG値はLONG列にのみバインドできます。」が発生します。 ORACLE 10g, 11g では発生しません。 サンプルクエリ create table TEST ( PK number(3,0) not null pri…

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する

システム要件 ドキュメントのシステム要件では、.NET 4 or .NET4 Client Profile となっているんですけどねー。 実行環境 WindowsXP SP3 .NET Framework 4 Client Profile (.NET 2系は未インストール) ODP.NET4 再現コード using System; using Oracle.DataA…

ODP.NET OracleCommand はデフォルトではバインド変数に名前指定出来ない

OracleCommand の BindByName プロパティを true に設定すると、名前指定可能になります。 OracleCommandクラス しかし、デフォルトは false です。 ドキュメント読んでなくて、全然気づかなかった。。普通に名前指定でいけてる感じで使ってました。 しかも…

ODP.NET4 をインストールする

公式のドキュメントはここらへん 目次 Oracle Data Access Componentsのダウンロード から、ODAC 11.2 Release 4 (11.2.0.3.0) with Xcopy Deployment をダウンロードします。 適当なフォルダに解凍後、中の install.bat を実行します。 install.bat ODAP.NE…