embedded-sql について
ADVPL/TLPP の SQL を作成、レビュー、移行する開発者向けのスキルです。`BeginSQL` のマクロやクエリパターン、安全上の制約に加え、データ変更に `TCSqlExec` を使う場面も扱います。
主な機能
- 01`BeginSQL` の構文とマクロ式
- 02JOIN、集計、サブクエリのパターン
- 03安全な変数バインドと行フィルター
- 04連結式 `TCQuery` SQL からの移行
- 05`TCSqlExec` によるデータ操作
活用シーン
- 01ADVPL/TLPP クエリの新規作成
- 02SQL の安全性と正確性の確認
- 03旧式 `TCQuery` 文字列の変換
- 04INSERT、UPDATE、DELETE の方法選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thalysjuvenal/ advpl-specialist --skill embedded-sqlインストール後、Claude Code で/embedded-sqlを入力して読み込まれたか確認します。
同梱ファイルreference.md
詳細
ADVPL/TLPP の埋め込み SQL
このスキルでは、BeginSQL ... EndSQL ブロックと、専用のマクロ式(物理テーブルの解決に使う %table:TABLE%、支店の絞り込みに使う %xfilial:TABLE%、論理削除の絞り込みに使う %notDel%、変数を安全にバインドする %exp:EXPRESSION%、主キーによる並べ替えに使う %Order:TABLE%)を使用して、ADVPL/TLPP 内で SQL を記述する方法を扱います。また、column 型宣言、JOIN と集計のパターン、サブクエリ、従来の TCQuery の文字列連結コードを埋め込み SQL に移行する方法も扱います。
ユーザーが新しいクエリを記述するとき、既存のクエリの正確性や安全性をレビューするとき、または古い文字列連結 SQL を最新の BeginSQL 構文に変換するときは、このスキルを有効にしてください。BeginSQL の制約と注意点(行頭に * を置かない、常に %notDel% と支店の絞り込みを含める、GetNextAlias() を使用する、エイリアスを閉じる)や、代わりに TCSqlExec を使用して INSERT/UPDATE/DELETE を実行する場面も扱います。
SQL と無関係な一般的なネイティブ関数の検索(protheus-reference を参照)、クエリ対象となるテーブルやフィールドの業務プロセス上の背景(protheus-business を参照)、SQL を含むルーチンのドキュメント生成(documentation-patterns を参照)は扱いません。
| 参照ファイル | 参照するタイミング |
|---|---|
| reference.md | 常に参照してください。BeginSQL の構文、マクロ式、JOIN/集計/サブクエリのパターン、TCSqlExec による DML、パフォーマンスのヒント、TCQuery の移行を確認できます。 |