oracle マルチ・テーブル・インサートinsert allの動作確認 insert allは1回のSQL実行で「複数のテーブル」に対し、insert valuesをまとめて実行できて便利ですが、12cから機能追加となった自動採番機能を適用したテーブルに対しては注意が必要です。(実質使えないでしょう) まずはi... 2022.11.20 oracle
oracle Oracle 結合UPDATE テーブル結合を行ったUPDATE 業務アプリではあまり見かけませんが、テストデータを作成したりテーブルデータの手動メンテナンスなどに活躍します。2種類の更新方法を記載します。 まずは今回のテストデータは以下の通りです fruitテーブルのp... 2022.11.18 oracle
データ・ディクショナリ Oracle シーケンス一覧 DBA_SEQUENCES dba_sequencesを参照する事でシーケンス一覧を出力できます。 シーケンス一覧出力SQL select s.SEQUENCE_OWNER,s.SEQUENCE_NAME,s.MIN_VALUE,s.MAX... 2022.10.26 データ・ディクショナリ
データ・ディクショナリ Oracle トリガー一覧 DBA_TRIGGERS DBA_TRIGGERSそ参照する事でトリガー一覧を確認できます。dba_usersと結合しているのはシステム提供トリガーを対象から外すためです。※dba_users.common='NO' としているのはシステム... 2022.10.23 データ・ディクショナリ
oracle Oracle トリガー作成DDLを取得 Oracleのトリガーのソースを取得 以下手順にてトリガーのソース(DDL)をファイルに取得する事ができます。 手順1 SQLファイル(get_torigger_ddl.sql)を作成する。 まずは、適当なフォルダにget_torigger... 2022.10.23 oracle
oracle LISTAGG 複数行の値を1行でまとめて表示する LISTAGG集計関数 先日SELECTで複数行返却される値をJava側で1行にまとめる実装を見ました。まぁ、SQLの方言に依存する実装を強く勧める気は全くありませんが、SQLでの実装も可能です。以下例題では"/"で区切っていますが、当然カ... 2022.10.15 oracle
oracle ORA-28002: パスワードは、XX日以内に期限切れになります。 ORA-28002が発生するもまだログインはできます。メッセージの通り数日以内に期限切れが発生しログインができなくなってしまうので対策が必要です。対策として2つあります。パスワードを更新する、もしくはパスワード権限を無期限にする方法です。今... 2022.10.09 oracle
データ・ディクショナリ Oracle ロール一覧 ロール一覧(システム提供ロールとユーザ作成ロールを区別する) ロール一覧出力SQL ORACLE_MAINTAINED='Y'のロールがシステムで提供しているロールで='N'が「ユーザ作成ロール」となります。 select ROLE,ORA... 2022.10.08 データ・ディクショナリ
JDBC DBMS_OUTPUTの出力をJava側で取得する JDBCからストアドプロシージャを実行しDBMS_OUTPUTの出力を取得 以下例では、ストアドプロシージャでの標準出力を一時的にバッファリングするサイズを2メガ『DBMS_OUTPUT.ENABLE(2000000)』に指定していますが、... 2022.09.24 JDBC
PL/SQL ストアドプロシージャ エラー処理サンプル エラーハンドリングがされていないストアドプロシージャをたまに見かけますが最低限「when others then」によるエラー処理は行うべきとおもいます。ストアドプロシージャ内でエラーハンドリングを行うと上位プログラムエラーのキャッチができ... 2022.09.23 PL/SQL