SQLクエリ集
Absoluteプロジェクトで使用する各種SQLクエリをカテゴリ別に整理しています。
クエリの格納場所
Section titled “クエリの格納場所”すべてのSQLクエリは /projects/absolute/sql/ ディレクトリに格納されています。
カテゴリ別クエリ一覧
Section titled “カテゴリ別クエリ一覧”1. システム設定関連
Section titled “1. システム設定関連”BusinessSettings(業務設定)
Section titled “BusinessSettings(業務設定)”-- 業務を有効化(デバッグ表示)UPDATE BusinessSettings SET EndDate = NULL WHERE Id = [対象ID];
-- L006の業務を有効化UPDATE BusinessSettings SET EndDate = NULL WHERE Id = 41;
-- L007の業務を有効化UPDATE BusinessSettings SET EndDate = NULL WHERE Id = 42;
-- 業務設定の確認SELECT * FROM BusinessSettings WHERE Id IN (41, 42);Reports(帳票設定)
Section titled “Reports(帳票設定)”-- 帳票を有効化UPDATE Reports SET Deleted = NULL WHERE ReportCode = '[帳票コード]';
-- L006A010の帳票を有効化UPDATE Reports SET Deleted = NULL WHERE ReportCode = 'L006A010';
-- L007A010の帳票を有効化とPGCode修正UPDATE Reports SET Deleted = NULL WHERE ReportCode = 'L007A010';UPDATE Reports SET PGCode = 'PL007' WHERE ReportCode = 'L007A010';
-- 帳票設定の確認SELECT * FROM Reports WHERE ReportCode IN ('L006A010', 'L007A010');2. マスタデータ確認
Section titled “2. マスタデータ確認”帳票マスタ確認
Section titled “帳票マスタ確認”-- 全帳票の一覧SELECT ReportCode, ReportName, PGCode, DeletedFROM ReportsORDER BY ReportCode;
-- 有効な帳票のみSELECT ReportCode, ReportName, PGCodeFROM ReportsWHERE Deleted IS NULLORDER BY ReportCode;
-- 特定のPGCodeの帳票SELECT * FROM Reports WHERE PGCode LIKE 'PL%';業務設定確認
Section titled “業務設定確認”-- 全業務設定SELECT Id, BusinessCode, BusinessName, StartDate, EndDateFROM BusinessSettingsORDER BY Id;
-- 有効な業務のみSELECT Id, BusinessCode, BusinessNameFROM BusinessSettingsWHERE EndDate IS NULLORDER BY Id;3. データ分析・集計
Section titled “3. データ分析・集計”売上データ分析(L006用)
Section titled “売上データ分析(L006用)”-- 入庫区分別の売上集計サンプルSELECT EnterCd as 入庫区分, COUNT(*) as 件数, SUM(Amount) as 合計金額FROM SalesGROUP BY EnterCdORDER BY EnterCd;4. トラブルシューティング
Section titled “4. トラブルシューティング”データ整合性チェック
Section titled “データ整合性チェック”-- 帳票コードの重複チェックSELECT ReportCode, COUNT(*) as cntFROM ReportsGROUP BY ReportCodeHAVING COUNT(*) > 1;
-- PGCodeの存在チェックSELECT DISTINCT PGCodeFROM ReportsWHERE PGCode NOT IN (SELECT PGCode FROM Programs);-- エラーログの確認SELECT TOP 100 *FROM ErrorLogsORDER BY CreatedAt DESC;
-- 特定の帳票実行ログSELECT *FROM ExecutionLogsWHERE ReportCode = 'L006A010'ORDER BY ExecutedAt DESC;5. 開発・デバッグ用
Section titled “5. 開発・デバッグ用”テストデータ作成
Section titled “テストデータ作成”-- テスト用売上データ(要調整)INSERT INTO Sales (SalesDate, EnterCd, Amount, ...)VALUES ('2025-01-01', '01', 10000, ...), ('2025-01-02', '02', 20000, ...);データクリーンアップ
Section titled “データクリーンアップ”-- テストデータの削除(注意!)DELETE FROM Sales WHERE CreatedBy = 'TEST';
-- 一時テーブルのクリアTRUNCATE TABLE TempReportData;クエリファイルの命名規則
Section titled “クエリファイルの命名規則”SQLファイルは以下の命名規則に従って保存してください:
setup_*.sql- 初期設定用master_*.sql- マスタデータ関連report_*.sql- 帳票関連debug_*.sql- デバッグ用cleanup_*.sql- クリーンアップ用
例:
setup_L006_business.sqlmaster_reports_list.sqldebug_check_duplicates.sql
使用上の注意
Section titled “使用上の注意”-
本番環境での実行注意
- UPDATE/DELETE文は必ずWHERE句を確認
- 実行前にSELECTで対象データを確認
- トランザクションを使用して安全に実行
-
バックアップ
- 大量データの更新前は必ずバックアップ
- 重要なマスタデータの変更は記録を残す
-
パフォーマンス
- 大量データの集計はインデックスを確認
- 実行計画を確認してから本番実行