コンテンツにスキップ

SQLクエリ集

Absoluteプロジェクトで使用する各種SQLクエリをカテゴリ別に整理しています。

すべてのSQLクエリは /projects/absolute/sql/ ディレクトリに格納されています。

-- 業務を有効化(デバッグ表示)
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);
-- 帳票を有効化
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');
-- 全帳票の一覧
SELECT ReportCode, ReportName, PGCode, Deleted
FROM Reports
ORDER BY ReportCode;
-- 有効な帳票のみ
SELECT ReportCode, ReportName, PGCode
FROM Reports
WHERE Deleted IS NULL
ORDER BY ReportCode;
-- 特定のPGCodeの帳票
SELECT * FROM Reports WHERE PGCode LIKE 'PL%';
-- 全業務設定
SELECT Id, BusinessCode, BusinessName, StartDate, EndDate
FROM BusinessSettings
ORDER BY Id;
-- 有効な業務のみ
SELECT Id, BusinessCode, BusinessName
FROM BusinessSettings
WHERE EndDate IS NULL
ORDER BY Id;
-- 入庫区分別の売上集計サンプル
SELECT
EnterCd as 入庫区分,
COUNT(*) as 件数,
SUM(Amount) as 合計金額
FROM Sales
GROUP BY EnterCd
ORDER BY EnterCd;
-- 帳票コードの重複チェック
SELECT ReportCode, COUNT(*) as cnt
FROM Reports
GROUP BY ReportCode
HAVING COUNT(*) > 1;
-- PGCodeの存在チェック
SELECT DISTINCT PGCode
FROM Reports
WHERE PGCode NOT IN (SELECT PGCode FROM Programs);
-- エラーログの確認
SELECT TOP 100 *
FROM ErrorLogs
ORDER BY CreatedAt DESC;
-- 特定の帳票実行ログ
SELECT *
FROM ExecutionLogs
WHERE ReportCode = 'L006A010'
ORDER BY ExecutedAt DESC;
-- テスト用売上データ(要調整)
INSERT INTO Sales (SalesDate, EnterCd, Amount, ...)
VALUES
('2025-01-01', '01', 10000, ...),
('2025-01-02', '02', 20000, ...);
-- テストデータの削除(注意!)
DELETE FROM Sales WHERE CreatedBy = 'TEST';
-- 一時テーブルのクリア
TRUNCATE TABLE TempReportData;

SQLファイルは以下の命名規則に従って保存してください:

  • setup_*.sql - 初期設定用
  • master_*.sql - マスタデータ関連
  • report_*.sql - 帳票関連
  • debug_*.sql - デバッグ用
  • cleanup_*.sql - クリーンアップ用

例:

  • setup_L006_business.sql
  • master_reports_list.sql
  • debug_check_duplicates.sql
  1. 本番環境での実行注意

    • UPDATE/DELETE文は必ずWHERE句を確認
    • 実行前にSELECTで対象データを確認
    • トランザクションを使用して安全に実行
  2. バックアップ

    • 大量データの更新前は必ずバックアップ
    • 重要なマスタデータの変更は記録を残す
  3. パフォーマンス

    • 大量データの集計はインデックスを確認
    • 実行計画を確認してから本番実行