タグ

sqlに関するghostbassのブックマーク (30)

  • 実務に役立つSQLのテクニック集 - Qiita

    概要 実務で使用されたSQLをまとめました。Oracle19cとOracle12cでの利用実績がありますが、他のデータベースまたバージョンでの検証は行っていません。 随時追加予定です。 Oracleデータベースメタデータ抽出 オブジェクトの定義や作成に使用されるSQL文を抽出 SELECT sqlarea.sql_id AS sql_id, parsing_schema_name, CASE WHEN length(sql_fulltext) > 10000 THEN to_clob('sql is too long') ELSE sql_fulltext END AS sql_fulltext, sql_bind_capture.name AS param_name, sql_bind_capture.value_string AS bind_value, last_active_tim

    実務に役立つSQLのテクニック集 - Qiita
    ghostbass
    ghostbass 2024/01/12
    懐かしくはあるけど「テクニック」じゃなくてシステムビューの使い方だよねコレ
  • mysqlにおけるvarcharのindex使用時の注意 | ++頭道++

    ghostbass
    ghostbass 2019/05/10
    単純に暗黙のキャストが発生しているだけなのでは
  • EntityWorker-Core-An-Alternative-to-Entity-Framewo

    Introduction EntityWorker.Core is an object-relation mapper that enables .NET developers to work with relations data using objects. EntityWorker is an alternative to entityframework, is more flexible and much faster than entity framework. Update Rename Attribute StringFy => Stringify Remove EnabledMigration and adding InitializeMigration() method instead Implementing OnModuleStart where we could c

    EntityWorker-Core-An-Alternative-to-Entity-Framewo
    ghostbass
    ghostbass 2018/03/07
    こういうプロダクトもある
  • SQLスタイルガイド - Qiita

    はじめに 文書はSQLのスタイルガイドです。 PythonRubyのようなプログラミング言語には有名なスタイルガイドがあり、共通のレイアウトルールに沿ったインデントや命名規則に則ったコードが生み出されています。 一方、SQLには知名度のある統一されたスタイルガイドがありません。 そのため、思いのままに書かれたSQLが散見されます。 もちろん、SQLを使ってアドホックな分析を行う場合は、必ずしもルールに沿う必要はなく、効率よく書いても良いと思います。 しかし、Webサービスやバッチの中に組み込むようなもの、つまり自分以外の誰かに読まれるSQLは、多くのプログラミング言語同様に何らかのスタイルガイドに沿うことで多くのメリットを享受できると思います。 クエリが構造化され、可読性が高まる バグの発見や修正が容易になる 改行位置やインデントなどのフォーマットの悩みが解消される スタイルガイドを共

    SQLスタイルガイド - Qiita
    ghostbass
    ghostbass 2018/03/05
    テーブルや列のAliasに「頭文字を結合」はやりたくないし見たくない。それで読みやすくなった例を見たことがない。多少冗長でも意味の分かるワードにする・
  • SQLおじさん、Qiitaに炎上記事投稿 周囲の反応と垢BANまでの流れ

    リンク b.hatena.ne.jp はてなブックマーク - MVCがなぜ間違っているか? - Qiita digo “ セミナーで議論するの Live配信して欲しい” / beatdjam “今日はこれで暖を取ろう” / masraow “これか、完全に炎上案件だ” / ytRino “インターネット炎上芸人かな?” / beatdjam “今日はこれで暖を取ろう” / digo “ セミナーで議論するの Live配信して欲しい”

    SQLおじさん、Qiitaに炎上記事投稿 周囲の反応と垢BANまでの流れ
    ghostbass
    ghostbass 2016/11/12
    まあORMが時として非効率なのはわかるのだけど、じゃあSQL/ストアド実行結果をどうやってアプリケーションレイヤーで使うの?って疑問にはまるで答えが出ないんだよね
  • https://qiita.com/kantomi/items/2ada31d9a93f2b31bb9f

    ghostbass
    ghostbass 2016/09/14
    なるほど/ いい記事だと思うのに最後がアレ
  • 新著が出ます:『SQL実践入門』 - ミックのブログ

    4月中旬ころになりますが、新著が出ます。SQLのパフォーマンスを主題にしたで、実行計画を読むことで、なぜこのSQLは遅いのか、あるいは速いのかをデータベースの内部動作まで把握して理解しよう、という趣旨です。 リレーショナルデータベースというのは、SQLという自然言語を模したインタフェースによって、低次のレイヤーを隠蔽する意図で作られたミドルウェアなので、当は実行計画などという手続レベルの世界をユーザが覗き見るのは、末転倒なところもあります。ただそうはいっても、現実にSQLが遅かったら原因を解析せざるをえないわけだし、大体当にブラックボックスにしたいなら、なんでどのDBMSも実行計画を見られる手段なんか用意してるんでしょうね不思議ですね、という理想と現実の狭間で悩むエンジニアの方々に少しでもベターな解に辿りつけるアプローチを提示できれば、と考えております。 以下まえがきと章立てです。

    新著が出ます:『SQL実践入門』 - ミックのブログ
  • トランザクション分離レベルについて極力分かりやすく解説してみた[SQL] - 明日になったら本気出せる

    こっちに移動 qiita.com

    トランザクション分離レベルについて極力分かりやすく解説してみた[SQL] - 明日になったら本気出せる
    ghostbass
    ghostbass 2015/03/10
    トランザクションAはn件あるつもりだったのに終わり間際に「いやn+1件ですよ?」といわれるのがファントムリード、Aは s1のつもりだったのに終わり間際にs0ですよ?って言われるのがダーティーリード
  • [Ruby][解答募集]文字列に出現する単語の個数を数えてみよう - Qiita

    先日参加したRuby/Rails勉強会@関西 60thの「Ruby初級者向けレッスン」でこんな問題が出題されていたので紹介します。 問題 文字列中に含まれる単語の個数を単語ごとにカウントして、ハッシュとして表現してください。 実行例 入力: "no ruby no life" 出力: {"no" => 2, "ruby" => 1, "life" => 1} 自分なりの実装方法を考えてみよう Rubyに慣れた人なら、おそらくかなり簡単な部類に入るプログラミング問題だと思います。 しかし、こんな簡単な問題でも意外と実装方法は人によって異なるものです。 実際、僕が関わっている西脇.rb & 東灘.rbのコミュニティで出題したときも、解答例は人それぞれ異なっていました。 各人の知識やこだわりの違いがコードに現れてくるので、コードを見るだけでも面白いですし、お互い勉強にもなります。 あなたも解答例

    [Ruby][解答募集]文字列に出現する単語の個数を数えてみよう - Qiita
    ghostbass
    ghostbass 2014/04/04
    やってみる
  • 「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」

    Kazuho Oku @kazuho ですよね。基プリペアードクエリで良いということ > 「エスケープ処理を省略できるAPIが用意されている場合が〜これらのAPIの利用を推奨して構わない〜その良い例がプリペアードクエリ」 / “IPAの「安全なSQLの呼び出し方」が…” http://t.co/tWIraJ0p1T 2013-12-09 18:21:26 Kazuho Oku @kazuho 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」なら誰も異論はないんじゃないの 2013-12-09 18:22:38

    「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」
    ghostbass
    ghostbass 2013/12/11
    ユーザー入力値をSQL文中の識別子に使う、って発想がそもそもできないんだが…
  • SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論

    ROCA @rocaz SQLインジェクション対策に限ればプリペアドステートメントはそれだけで十分究極のSQL文対策だよ。だって@yohgaki 氏の主張では「SQL文全体に影響が出るからこそのエスケープ処理」だよね。プリペアド前提で「SQLインジェクション対策のために」エスケープが必要な例ってあるの? 2013-12-09 16:34:06 ROCA @rocaz これ http://t.co/1uIaqo82td は読んだ。「検索仕様上様々なSQLパターンが必要な場合プリペアドだけではパターンが多すぎることもある」はその通り。但し常にそうでは無いし汎的に「エスケープの絶対的必然性」を主張するには弱すぎる @yohgaki 2013-12-09 16:40:36 ROCA @rocaz そもそもRDB特にOracleでの静的SQLと動的SQL歴史について学んだ方がいいのでは。そもそも動

    SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論
    ghostbass
    ghostbass 2013/12/10
    おお、プログラミングカテゴリが1024を超えた/ つまりstringオブジェクトをプログラマ/環境以外の誰かが変更できる、って事?
  • Redmineチケットの階層化の実装方法 - プログラマの思索

    Redmineチケットのテーブルissuesテーブルにlft, rgtというカラムがVer1.0からあって、何に使うのか分かっていなかったが、下記の記事を読んでようやく理解した。 ラフなメモ書き。 【元ネタ】 【Redmine】issuesテーブルのlft・rgtって? | Roppi.net SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (1)入れ子集合モデルとは何か |gihyo.jp … 技術評論社 SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (2)入れ子集合モデルにおける検索 |gihyo.jp … 技術評論社 SQLアタマアカデミー:第5回 SQLで木構造を扱う~入れ子集合モデル (3)入れ子集合モデルにおける更新 |gihyo.jp … 技術評論社 SQLアタマアカデミー:第6回 SQLで木構造を扱う~入れ子区間モデル (1

    Redmineチケットの階層化の実装方法 - プログラマの思索
    ghostbass
    ghostbass 2013/02/19
    並べ替えとか挿入とか結構な負担になる。あとバグとかでleft,rightが不正な状態になった場合手に負えない。
  • スマホ個人情報漏洩 ありえない!直接データベースに接続 - luminのコードメモ

    また起きました、the Movie系以来の大量の確信犯による個人情報漏洩事件です。 今回も住所も氏名も勤務先まで実行者の個人情報が分かります。 絶対に実行しないでください。 https://play.google.com/store/apps/details?id=info.jigensha.hellopage 作って公開しているのは同和問題の活動家。思想的にこのようなことをやっているようだ。 通常はこの連絡先のデータを抜いてサーバーに送るまでなのだが今回はおかしいことになっている。データベースが公開されているのだ。(パスワードは設定されていませんが、意図的な公開ではなかったみたいで現在は非公開になっています。) アプリ自体は「全国電話帳」という名前で、まさに電話帳だ。 電話帳のデータ自体は、ハローページとタウンページに掲載された約3800万件からのデータだそうだ。 ネットワークにつながり

    スマホ個人情報漏洩 ありえない!直接データベースに接続 - luminのコードメモ
    ghostbass
    ghostbass 2012/10/06
    なんて恐ろしい実装…
  • 第2回 更新なんてこわくない! (1)NULLが存在するテーブル | gihyo.jp

    はじめに SQLの「Q」が「Query(問い合わせ⁠)⁠」の略であることからもわかるように、SQLという言語は誕生の時点から、データベースから情報を引き出すことを主な用途として考えられていました。実際、私たちが業務で使用するSQLの大半はSELECT 文であると言ってよいでしょう。 反面、UPDATEやDELETEといった更新のための機能について、詳細に取り上げられる機会はあまりありません。近年は標準SQLにMERGE文が追加されるなど便利な拡張が施されている分野ですが、意外に盲点となっていてその強力さが十分に理解されていないのです。 というわけで、今回のテーマは「更新」です。前回と同様、いくつかのケーススタディを通じて、更新SQLの応用方法とそのロジックを詳しく見ていきたいと思います。 稼働環境は次のとおりで、括弧内が実際に動作確認を行ったバージョンです。 Oracle9i以降(Orac

    第2回 更新なんてこわくない! (1)NULLが存在するテーブル | gihyo.jp
    ghostbass
    ghostbass 2012/01/05
    参考にする
  • 第3回 ループ依存症~手続き型の呪縛を打ち破れ! | gihyo.jp

    ここはとある街の総合病院。 ここには通常の診療科のほかに、一風変わった診療科が存在する。 何軒もの病院をたらいまわしにされた、手の施しようのないSQLや、今すぐに改善が必要なSQLが担ぎ込まれる救命室である。 それがSQL緊急救命室、略してSER(SQL Emergency Room⁠)⁠。 そう、ここは国内でも唯一のプログラミング専門外来である。 ロバート救命室部長。腕の立つエンジニアだが、口が悪く性格はもっと悪い四十オヤジ。 SQLを学ぶ上で最も高いハードルとなるのが、順序と手続きではなく、集合と論理の観点から考えることだ。 ―J.Celko『Joe Celko's SQL Programming Style』 (⁠Morgan Kaufmann、2005年)p.184 ループによる表現 (PM3:00 手術室。先ほどかつぎ込まれたばかりの患者を前にして、何やら揉めている) ワイリー、

    第3回 ループ依存症~手続き型の呪縛を打ち破れ! | gihyo.jp
  • OracleのSQLのアンチパターンの問題集1

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    OracleのSQLのアンチパターンの問題集1
    ghostbass
    ghostbass 2011/05/19
    このクエリーどこかで見たことある
  • 第7回 集合論――数学の「集合論」に,RDBの正体を見る

    リレーショナル・データベース(RDB)のデータ構造やSQL命令による様々なデータ操作については,多くの人が知っていることだろう。しかしRDB技術の根底にある「集合論」を詳しく語れる人は少ないはずだ。集合論とRDBの結びつきを理解すれば,RDB質が見えてくる。 ITエンジニアの皆さんなら,米IBMサンノゼ研究所に在籍していたE.F.コッド博士(Edger.F.Codd,1923~2003)をご存知だろう。コッド博士は1970年,「A Relational Model of Data for Large Shared Banks(大規模共有データバンクのためのリレーショナル・モデル)」という有名な論文を発表した。現在の「リレーショナル・データベース(RDB)」(「関係データベース」とも呼ぶ)は,この論文が起源となって誕生したものだ。 コッド博士が数学の「集合論」を基に,表を使うRDBの仕組

    第7回 集合論――数学の「集合論」に,RDBの正体を見る
  • 传统作息时间或违背青少年睡眠生理规律 一位据中人士内部透露国队-沧州昧谱电子行业网

    的曼率超全场次射城门、传统作息过8控球,赛的第项赛遭遇季各事中三场失利。 一位据中人士内部透露国队,间或违背青气流遭遇混乱赛时王建伟比。大腿的王达医疗已被雅加院接建伟送到受治骨折,少年睡眠生丁鹏领队据中介绍国队。 理规律达的选手陆时在着叫莉脊椎女阿富汗受伤而名。但失的伞下降急速速后,传统作息气流太强,落地以失状态速的,左腿最先触地受伤,变化不定而且。间或违背青新河效地了长里纠区东区有期引越秀解决难问浦社停车题发邻纷的山街。 答案是议事厅,少年睡眠生那么,的呢做到竟是如何它究。大屋西关有三社区妙招个小,理规律电梯解决加装难题,协商引导有效组织居民进行如何。 致意均未见能达成一,传统作息,起7年从2,议4主会次该楼共召开业。 八景傍的荔羊城坐落在新枝湾,间或违背青老城区传统属于广州,间或违背青电梯大屋地处西关西关、廖了旧楼装秦松区域议出子、曾慧核心培金图/陈忧事厅社区明议文/文化。少年睡眠

    ghostbass
    ghostbass 2010/07/21
    へえ
  • ドメインロジックとSQL

    以下の文章は、Martin Fowler による Domain Logic and SQL の日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジッ

  • OracleのSQLのアンチパターンの問題集1

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    OracleのSQLのアンチパターンの問題集1
    ghostbass
    ghostbass 2010/06/18
    これはマジですか?/判断保留。