このすみノート

Webエンジニアが技術や趣味を書くブログです。

データベース

Japan Oracle Developersの、Oracle Database入門がわりといい

Oracleを使うときに、概要を掴むための資料を探していたのですが、Japan Oracle DevelopersのOracle Database入門がわりといいです。 www.youtube.com なぜいいと思ったのか Oracle社の人が解説してくれる。 概要にとどまらず、データベース設定からアーキテ…

Oracle DBのテーブル名は、ダブルクォーテーションの有無によって挙動が違う

仕事でOracleを使っているのですが、ダブルクォーテーション("")の有無による挙動差にハマったのでメモします。 CREATE TABLE sample_table( col1 number, col2 number ) -- これが失敗する SELECT * FROM "sample_table" CREATE TABLEのやり方に依存する …

Oracle Databaseでドットを2つ書くパターンの理由を調査した

業務でOracleを使うことになるかもしれないため、検証目的でOracleの開発環境構築を進めている。 【Docker】Oracleを無料で簡単にローカルに構築する https://zenn.dev/re24_1986/articles/29430f2f8b4b46 結論から言えば、まんましろ氏の記事の通りに進めて…

DBのデッドロック問題に遭遇した

仕事でWEBアプリケーションの開発に携わっております。 システム自体は私が携わっていない時代に作られたものなのですが、最近利用者数が増えてきて、DBのデッドロック問題が発生するようになりました。 発生箇所の特定 実際のエラーログを集計したところ、…

SQLのNULL値を比較してしまい、想定した値が更新されず失敗してしまった

プロジェクトで最近SQLをいろいろ触る機会がありまして、その時にフラグを更新するSQLに遭遇しました。 イメージとしてはこんな感じ。 UPDATE flag = 1, updated_at = NOW() WHERE id = 2; なお、このflagの型はSMALLINTでした。 そして、これだと元のフラグ…

DDL・DML・DCL - SQLの分類を学習する

SQLの分類について学習したので、メモを残します。 普段何気なくデータベースを使っているため、DDL以外の用語はあまり意識したことがないかもしれません。 DDL DDLはData Definition Languageの略称です。 代表例として4つ。 CREATE: テーブルやビューの作…