database
「Joe Celko / プログラマのためのSQL 第2版」でSQL覚えたくちなので、SELECT句は最後に実行されるはず、という理解だったんですが、Teradata Databaseでは、group byやorder byでも別名使えます。というか、これが通るのにはびっくりしたw select 1 as one,…
テーブルのカラム情報が知りたいときに、.table テーブル名だとテーブル名しか帰ってこないのですが、SQLite Frequently Asked Questions によると、永続的なもの(テーブル/インデックス)はSQLITE_MASTERに、一時表なんかはSQLITE_TEMP_MASTERに、情報が格納…
ちゃんと回答する前に解答が出てしまいました…。 さて、A案の擁護はこの程度で終えるとして、最後に、はてなブックマークで kamataro さんからコメントを戴いた、A案とB案の併用、つまり、3列 + 1列の合計4列持つ方法はどうか、という質問にお答えしましょう…
何が違うのか判らなかったんですが、INSERT時に一意制約エラーが出るか出ないかが違う模様。 前提 一意制約エラーはUNIQUEになることを制約で保証している列に対して、既存の値をインサートしようとすると発生します。 Teradataでは、UPI(Unique Primary Ind…
先日のJDBCのクライアント文字セットにUTF8を指定するとCHARが滅茶苦茶になる件は、ちゃんとドキュメント見たら載ってました。 The recommended workaround is to cast the char field to a varchar.え?VARCHARにするの? • Using cast SELECT CAST(col1 AS…
JDBC Type4ドライバー(Implementation-Version: 12.00.00.01)でCHAR型の文字長計算があれな件。 準備 サーバー文字セットがLATINの列を持つテーブルを用意する。(Teradata Sql Assistant等を使って、JDBC以外から実行) CREATE MULTISET TABLE FOO ( COL1 CHA…
たまたまDialectの調査してたら気づいた。 create table FOO (ID int not null primary key generated always as identity); こんなテーブル定義にあうようなエンティティを作ってみる。 @Entity public class Foo { @Id @GeneratedValue public int id; } …
中の人はstandardDialectで問題ないって言ってたけど、折角だからそれっぽく作ってみる。 2008-07-29追記 convertGetCountSql order by句対策が必要 convertLimitSql distinct, order by句対策が必要 getDefaultGenerationType GenerationType#IDENTITY getI…
CREATE TABLE AAAAAAAAAABBBBBBBBBBCCCCCCCCCC ( COL1 CHAR(2) CHARACTER SET LATIN PRIMARY KEY ) ; ALTER TABLE AAAAAAAAAABBBBBBBBBBCCCCCCCCCC ADD CONSTRAINT FOO FOREIGN KEY (COL1) REFERENCES HOGE(FUGA) ; > AAAAAAAAAABBBBBBBBBBCCCCCCCC_0テーブ…
事象 これはOKなケース CREATE TABLE table1 (col1 VARCHAR(5) PRIMARY KEY); CREATE TABLE table2 (col2 VARCHAR(5) PRIMARY KEY); CREATE TABLE table3 ( col3 VARCHAR(5) REFERENCES table1(col1), col4 VARCHAR(5) REFERENCES table2(col2), primary key…
特徴 徹底した多重化 冗長性=信頼性 並列処理に特化 スケールアウトで線形に性能増加 分散配置に関する管理が不要 データは勝手にハッシュ分散される 領域管理は大雑把でかなり楽そう 空いてる領域を勝手に使うかんじ? チューニングが自動、データ・バラン…
結論から言うと、RECYCLEBINの中身を引っ張ってきてるので、フラッシュバックを無効にする。HibernateとS2Dao-codegenで発生するのを確認。多分他のでも。無効にする方法は下のどちらか。 init.oraに"RECYCLEBIN = OFF"を追加する。 ALTER SYSTEM SET "_recy…
問題 OracleのJDBC URLは、jdbc:oracle:driver_type:[username/password]@database_specifierという形式になっています。 なので、Type4ドライバ(Thinドライバ)の場合、以下のような書き方をしていると思います。 jdbc:oracle:thin:@hogehoge この場合のho…
ORA-12154 TNS:指定された接続識別子を解決できませんでした TNSNAMES.ORAを手で修正する場合、先頭にインデント用のスペースを入れないと、ORA-12154エラーが発生します。 メールの本文に接続記述子をコピーして送ったりすると、インデントが失われる事があ…
Net Managerを使って、接続記述子を設定する場合、サービス名/SIDが9文字以上だと入力エラーになります。 OTN Japan - 404 ErrorTNSNAMES.ORAに正しいサービス名/SIDが設定されていれば問題ないので、手で直すのが早いと思います。 Net Managerを再起動すれ…
CASE 集約関数 WHEN ... と言う書き方をするとちゃんと動いてくれないという話。『ジョー・セルコ / SQLパズル第2版(ISBN:9784798114132)』見ながらH2で確認してたら、CASE文の挙動がおかしいような。SQL select course_nbr, min(teacher_name) as col2, cas…
アプリケーションサーバーからの接続だけを許可する等。sqlnet.oraを編集 TCP.VALIDNODE_CHECKING = {YES|NO} YESなら、以降のオプションをチェックする。 TCP.EXCLUDED_NODES = (IP or ホスト名[, IP or ホスト名]*) アクセス禁止 TCP.INVITED_NODES = (IP …
1. Oracleの起動 # sqlplus /nolog SQL> CONN / AS SYSDBA SQL> STARTUP2. listenerの起動 # lsnrctl start
時刻印アルゴリズム - サイエンスかリアルか エロくないけど勝手に回答してみる。 JoJo好きだと、第5部のvsボス戦でのポルナレフ戦法に似ているというと判りやすいかも?w SELECTする。 SELECTしたデータを編集する。 再度SELECTする。 1と3とでバージョンID…
バックアップ mysqldump db名 > パス -u ユーザー名 -p レストア mysql db名 < パス -u ユーザー名 -p 参考文献 mysqldumpでバックアップ&復元 - phpspot
DBの理論の本で、ちゃんとした本を探すコツ、ってなんだろう? 少なくとも、第3正規形(3NF)とBCNFの違いがちゃんと説明されている*1、というのは一つの基準になると思います。安かったとはいえ、この本を買った基準は、3NFとBCNFの比較にページ割いている…
買ったのはいいけど当分積読。 他の読み終わったらまとめて読もう。
@ITのSQLクリニックを見て愕然。SQL99の正規表現検索はSIMILAR述語じゃないのか? http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sql99/sql99_2a.htmlまあ、SUBSTR、INSTR、REPLACEと合わせての対応だから、これはこれでいいのか?
複合索引(コンポジット索引)が有効なケース (3/3):Oracle SQLチューニング講座(8) - @ITOracle9i以降では、コンポジット索引内の先頭列がWHERE句の条件列に含まれていなくても、INDEX_SSヒントを使用することで、そのコンポジット索引を使用してくれる…
たまたまRDB用のツールを検索してたら、こんなの見つけました。 『DBArtisan 5.4』を、機能制限なし/期間限定なしで無償配布、だそうです。 ちなみに、最新の製品版は7.2とのことで、どれだけ違うんでしょう?? 同じ開発元のER/Studioは、仕事でほんの触り…
DB2使ったことないのでいまいち有難みが湧きませんが、安いのは確か。 でもRDBMSの勉強と言うことなら、フリーのでもいいような気が。 DB2使う機会があれば考えます。プレスリリース - 「IBM DB2(R) Personal Developer's Edition Lite V8.2」