1

私は新しいプログラマーです

  1. 私が知っているのは、トランザクション制御をSQLする2つの方法があることだけです。でも知りたいのは

    1.1 プログラムでトランザクションを使用する必要がある場合と、データベースでトランザクションを使用する必要がある場合。1.2の方が優れています(プログラム内のSQLトランザクションの方が優れていると思いますが、上司はデータベースでSQLトランザクションを使用したいと考えています)

  2. 最初の質問から。マスターテーブルと詳細テーブルにデータを挿入すると。

    以下は私の上司のストアドプロシージャです

    SaveOrder( 
    @customerID int,
    @value decimal(18,2),
    @details varchar(max)
    )
    

そして、私は次のようなデータを送信する必要があります...

SaveOrder(@customerID = 1,@value = 2500,@details = '(1,'apple',2,50),(2,'orange',3,70),(3,'banana',4,120)')

同意しません。しかし、彼は「プログラムでSQLトランザクションを使いたくない」と言いました。

これをどう考えるか。そして、どちらが優れています。

4

1 に答える 1

1

あなたは新しいプログラマーだと言います。ですから、上司の言うことに従うことを強くお勧めします。彼があなたの上司で、あなたが初心者だからではなく、次の理由からです。

  1. 「私が何について話しているのかよくわからないので、StackOverflow でランダムな見知らぬ人に尋ねたところ、彼らは...」と言いました。
  2. データベース (ストアド プロシージャ) またはアプリケーションにビジネス ルールを配置することは、長期にわたる宗教戦争であり、誰が何と言おうと、決定的な答えはありません。

複数の詳細レコードを文字列で渡すことについて心配するのは正しいことです。ださいよ。説明の配列である必要があります。ただし、この状況での正しいアプローチは、上司と協力してストアド プロシージャのインターフェイスを改善することです。

最後に、最終的には次のようになります。チーム ビルディングで作業している場合、ソフトウェアの一貫性は大きな美徳です。

于 2013-01-12T10:06:48.197 に答える