アーシの毎日インプット

毎日1つ以上学習する。学習した内容を公開する。を目標に自分のスキルアップを目指します。

SQL

SQL*Plusって1行2500文字以上は受け付けない

SQL

自分で直接SQLを書いている人にはあまり発生しない問題だと思うのですが・・・ 躓いたので書き残しておきます。 linuxのシェルを使って、検索値をcsvファイルから読み込み、IN句のあるSQLを生成してSQL*Plusを実行したところ、下記のようなエラーメッセージ…

SQLは略語ではない

SQL

データベースへアクセスする言語SQL このSQLって略語ではないんですって SQLで正式名称です。 よくStructured Query Languageの略称だとか、少数派だとSimple Query Languageの略称だとか言われますが、そんなことはないようです。 どんどんSQLを発行してい…

SELECT COUNT(DISTINCT COL_A)の挙動

SQL

SELECT COUNT(DISTINCT COL_A) FROM TABLE_A;上記のSQLはTABLE_AのCOL_Aに何種類のデータが入っているか特定するためのSQL・・・と思っていたのですが、意外な落とし穴がありました。下記のようなデータがCOL_Aに設定されていたとします。 あ,い,あ,null,nul…

SQLローダでDBに改行コードをロードする

SQL

SQLローダ。ファイル形式のデータをDBにデータを登録したいとき、高速で非常に役に立つデータの登録方法です。 そんなSQLローダでVARCHAR2型(文字型)の項目に改行コードをロードしたいとき、どうしたらいいのか、調べてみました。そもそも、SQLローダのデフ…

SQLローダのfiller

SQL

SQLローダ、データベースにcsvなどのテキストデータを高速で投入するツールです。データを投入するときcsvとDBの項目が不一致だった・・・というとき、役に立つのがfillerやconstantというオプションです。中でもfillerはロードしたいcsvがDBで定義されてい…

SQLのIN句に1000を越えて値が設定できる

SQL

SQLは馴染みのない人が多いかもしれませんが、データベースにアクセスするための言語です。そのなかで、複数の値を設定可能なIN句というものが存在します。 こちら、いくら複数指定ができるといっても、一般的には下記のように1001項目以上指定するとエラー…

【アーシの原点】

【頭を鍛える迷路集】


スポンサードリンク