忍者ブログ
忘れっぽい開発者の備忘録。基本的に自分用メモです。
[1] [2] [3] [4] [5] [6
2017.10.17,Tue
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2011.02.01,Tue
■1行コメントアウト
-- SELECT a FROM b;
 
■複数行コメントアウト
/*
SELECT a
FROM b; 
*/
 
※綺麗な書き方ではないですが、SQL実行ツールだったらこういう書き方でも通ります。
でも推奨しません。たぶん他の人がこれを見たら「うわ、この人sql苦手だろ…」とか思われます。
 
-- SELECT a
FROM c;
/*
FROM b;
 
PR
2011.02.01,Tue
今までに発生したエラーと、その原因のまとめ。
通常はオラクルエラー対処法(http://www.shift-the-ORAcle.com/oerrs/)を見ることをおすすめします。


ORA-00904:無効な識別子です。

原因 指定したカラムが存在しない、カラムの名前を間違えている
対処 カラムの名前を修正した


ORA-00917:カンマがありません。
原因 カンマがない、もしくはカンマが必要以上にある
対処 カンマを修正した


ORA-00918:列の定義が未確定です。
原因 結合したテーブルの中に、同じ名前のカラムが存在する
対処 結合したテーブルに別名をつけ、別名.カラム という形に修正した


ORA-00933:SQLコマンドが正しく終了されていません。
原因 カンマが抜けている、全角スペースが入っている、SQLが途中で切れている
対処 カンマを適切な場所に入れ、スペースを半角に修正。
SQLが切れていた場合は再度完全なものを実行し直した。

ORA-00936:式がありません。
原因 カンマが抜けている、全角スペースが入っている。
対処 カンマを適切な場所に入れ、スペースを半角に修正。


ORA-00947:値の個数が不足しています。
原因 カンマが抜けている、全角スペースが入っている。
対処 カンマを適切な場所に入れ、スペースを半角に修正。


ORA-00957:列名が重複しています。
原因 insertなどでsetとvalueの数が一致していない
対処 setとvalueの値を同じにした。


ORA-00979:GROUP BYの式ではありません。
原因 SELECT nvl(decode・・・ というSQLを作ったときに、group句にnvl部分を入れていなかったためにエラー発生。
対処 nvl(decode・・・ではなく、decode・・・からgroup句に入れる。


ORA-01403:データが見つかりません。
原因 データに不備があったため、結果が取得出来ていなかった。
(本来、数値型のカラムになぜか文字型が入っていた)
対処 データの内容を修正した。


PLS-00402:列名の重複を避けるためにはカーソルのSELECTリストに別名が必要です。
原因 カーソルでSELECTした列名に別名をつけていたが、それが重複していた
対処 重複しないように別名をつけた


まだ追加するかも?
2011.02.01,Tue
 今まで上司、先輩等に教わってきたチューニング方法と、自分の解釈?について。
※正しくない場合もあるので要注意。
 
・テーブルを繋げる時、全体レコード数が少ないテーブルから多いテーブルへ繋げる。
→アクセスする件数が減るため、速くなる。
  (と言っても、仕様上繋げるのが正しいテーブルじゃないと意味無いですよ)
 
・インデックスを見る。インデックスを限りなく多く見るようにする。
→データの検索速度を向上させるために作られたものなので見るようにした方が速い。
でもインデックス貼りまくったら元も子もない。
 
・TABLE ACESS FULLに極力ならないようにする。
→アクセスする件数が多くなるほど遅くなる。
 
・VIEW同士繋げると重い
→意味が分からない。VIEWって結局SELECTと一緒の事してると思うんだけど。
 ネットで見かけた情報だと、実行計画が上手くいかないから、という原因もあるらしい。
 意味が分からなくても怖いからVIEW同士繋げたことはない。
 なので真偽は分からない。
 
・VIEWで集約関数使うと重いので、使わないようにする(ネットで見かけた内容)
→速度量ってみたけどあんまり変わらなかった。
 
 
 
また追加するかも?
2011.02.01,Tue
 ■前のページに戻る 
history.back(); //1つ前のページに戻る
 
■指定数分、前のページに戻る
history.go(-1); //1つ前のページに戻る
history.go(-2); //2つ前のページに戻る
 
 
■次のページに進む
history.forward(); //1つ先のページに進む
 
■指定数分、次のページに進む
history.go(1); //1つ先のページに進む
history.go(2); //2つ先のページに進む

 
ASP.NETで移動したかった時も、JavaScript側で移動させるようにした方が簡単でした。
出来なくはないと思うけど…。楽なのは断然JavaScriptでしたね。
2011.02.01,Tue
SQL実行ツールを使用した感想のまとめです。
紹介してる順番は、ツールを使った順番。
 
 
■CSE(フリー)
URL:http://www.hi-ho.ne.jp/tsumiki/
 
初級者向け。
SQLに触ったことのない人が初めてSQL実行ツールを使う分には非常に使いやすいツール。
というか、初めてこういうツールを使う事になった私が使いやすかった。
SQLの整形や実行計画が分かりやすく、簡単に実行できる。
コメントアウト、コメントアウト解除も通常のツールバーにアイコン表示されてるので、
SQLのチューニングしてる時には重宝する。(してた)
テーブル名等のプロパティ部分を参照すると、create文が表示される。
しかし、動作確認を行ったのが「Windows95、Windows98、WindowsNT4.0、Windows2000、Windows XP」のみ、
バージョンアップは2002年で止まっているという状態なので、今後の更新の期待が全く出来ない。
 
 
■osqlgrid(フリー、有償)
URL:http://www.hi-ho.ne.jp/a_ogawa/index.htm
 
中級者向け。
大量のデータをselectする時に便利。
selectしてる時に、あまりの結果の多さにビビッて途中でSQLを止めても
止めた所までの実行結果を表示してくれるのが便利。
他の機能は普通。
ツールでデータを編集してる時にロックをかける事が出来る。
ロックをかけっぱなしにすると、悲惨な事になるので、初心者にはおすすめできない。
 
 
■SI Object Browser(有償)
URL:http://www.sint.co.jp/products/siob/ob/index.html
 
上級者向け。
有償で便利。だけどおすすめはできない。初心者は絶対に触ってはいけない。
テーブルのカラム、名称、サイズ等の変更やDBの削除などがかなり簡単に出来る。
通常面倒なSQLを叩いて実行するものが、とっても簡単に出来てしまうため、
初心者が使うのは物凄く危ない代物。
また、SQLが分かる中級者でも、少し分かってる程度の人が触ると初心者以上に悲惨な事になります。
(テーブルを全部消してしまった人を見たことがあります。テスト環境で、なおかつバックアップとってからよかったものの…)
しかし、便利なのも事実なので上手く使いこなせば無駄な時間がかなり短縮できるツール。
 
 
 
■黒猫 SQL Studio(フリー)
URL:http://kuronekosoft.ewinds.net/
 
全般向け。
SQLの整形が出来て、実行結果をCSVやXML形式で出力出来る。
また、コメントアウト・コメントアウト解除もツールバーにアイコン表示されてるので使いやすい。
それにテーブル名などを右クリックするとselect文、insert文、update文、delete文を自動で作ってくれる。これが便利。
ただし、実行計画が確認できない。根本的にツールが重い。
テーブル名などを右クリックしたり、プロパティを見ても、そのテーブル等が作られたcreate文が表示されない。
次に紹介するA5と併用して使うと便利。
 
 
 
■A5:SQL Mk-2(フリー)
URL:http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/
 
中級者、上級者向け。初心者でも使いやすい人は使いやすいかも?
実行計画が確認できるのはもちろん、SQLをツリー状に出来るし、ER図を設定できたり見れたりする。
実行結果をCSVやXML形式に出力出来る。SQLの整形も出来る。
テーブル名等のソース部分を参照すると、create文が表示される。
ただ、他のツールと違って、SQLの実行のショートカットキーが他のツールと異なっていたり
insert文はテンプレートを作成する事が出来ても、update文、delete文は作成してくれないので
若干使いづらい面もある。(慣れの問題だけど)
insert文、update文、delete文はちゃんと使えました。
私の確認ミスです…。失礼しました。(2011.02.07修正)
 
また、コメントアウト・コメントアウト解除は機能として付いていない。(コメントアウト機能見つけられてないだけかも)
コメントアウト機能さえあればこれ1つで事足りるのになぁ、と思うツール。
 →コメントアウト機能つけていただけるそうなので(!)次回のバージョンアップが楽しみです。
コメントアウト機能使ったらこの記事も修正します。

コメントアウト機能使用しました。そうそう、これが欲しかったんです!!
対応してくださってありがとうございましたー!(2011.09.01修正)
 
 
今のところ、私自身はA5:SQL Mk-2で落ち着いてます。
A5:SQL Mk-2はおすすめですよ。
カレンダー
09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
ブログ内検索
Template by mavericyard*
Powered by "Samurai Factory"
忍者ブログ [PR]