クリーン アーキテクチャの原則を変更するためにコード内でストアド プロシージャを使用すべきではない理由

導入

これは私を今でも驚かせる数少ないトピックの 1 つです...ストアド プロシージャは最初から存在しています。自分のコード ベースにこのようなものが含まれていることを誰もが喜んでいますが、今日の世界でこのトピックが再び浮上し続けることに私は驚かされます。

壊れていないなら、修理しないでください!

私も同意しますが、最上級の開発者や職人の一部が依然として新しいシステムでストアド プロシージャの使用を主張しているのは奇妙に感じます。

私たちは何について話していますか?

ストアド プロシージャは単なる関数です。唯一の違いは、プリコンパイルされてデータベースに保存されることです。SQL クエリについては誰もが知っていますが、プロシージャは、必要なときに呼び出すことができるプリコンパイルされたクエリのセットにすぎません。

たとえば、eshop Web サイトを構築していて、productsSQL データベースにテーブルがあるとします。特定の名前または説明を持つ製品を検索するための検索バーを実装するとします。これを行うには 2 つの簡単な方法があります。

1. これを行うには、単純にクエリを作成します。

SELECT * FROM products
WHERE name LIKE '%' + text + '%'
    OR description LIKE '%' + text + '%'

2. または、同じクエリをストアド プロシージャでラップします。

CREATE PROCEDURE SearchProducts
    @Text VARCHAR(50)
AS
BEGIN
    SELECT * FROM products
    WHERE name LIKE '%' + @Text + '%'
    OR description LIKE '%' + @T
ext + '%'

Guess you like

Origin blog.csdn.net/iCloudEnd/article/details/131864218