ホームページ > データベース > mysql チュートリアル > SQL Server ストアド プロシージャを作成および変更するための実装コード

SQL Server ストアド プロシージャを作成および変更するための実装コード

巴扎黑
リリース: 2017-05-21 11:39:09
オリジナル
1495 人が閲覧しました

この記事では主に SQL Server ストアド プロシージャを作成および変更するための実装コードを紹介します。必要な方は参考にしてください。

SQL Server 2005 の管理ツールを開き、ストアド プロシージャを作成する必要があるデータベースを選択し、「 「プログラマビリティ」を選択して展開すると「ストアドプロシージャ」が表示されます。これを右クリックして「新規ストアド プロシージャ」を選択すると、右側の編集ウィンドウが開きます。このウィンドウには、ストアド プロシージャを作成するために Microsoft によって自動的に生成された SQL Server ステートメントが含まれています。

ストアド プロシージャの名前、パラメータ、操作ステートメントを記述したら、[構文解析] をクリックします。エラーがなければ、直接「F5」を実行します。 以下は、基本的なストアド プロシージャのコードです。 :


 CREATE PROCEDURE Get_Data  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>)  
   )  
   AS  
 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
ログイン後にコピー

クリックして実際の例をご覧ください

ストアド プロシージャの作成方法はわかりましたが、それを変更するのはまだ難しいですか?明らかに違います。ストアド プロシージャの変更も非常に簡単です。まず、現在のデータベースのストアド プロシージャ リストを更新します。これで、作成したストアド プロシージャの名前が表示され、[変更] を選択すると、右側に編集用のコードが表示されます。 (下)


 ALTER PROCEDURE [dbo].[Get_Data]  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>)  
   )  
   AS  
 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
ログイン後にコピー

コードを変更するだけで、次のようになります


ALTER PROCEDURE [dbo].[Get_Data]  
  (  
    @Dealer_ID VARCHAR(<strong>50</strong>),
    @Period VARCHAR(<strong>20</strong>)
   )  
   AS  
   SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period
ログイン後にコピー

F5 が正常に実行され、変更されたストアド プロシージャが完了します。

データ挿入操作を実装するストアド プロシージャを書き始めました。端的に言えば、データを追加することを意味します。このストアド プロシージャのコードは次のとおりです:


 CREATE PROCEDURE PROC_INSERT_DATA_ID
  @DealerID varchar(<strong>50</strong>)
 AS
 BEGIN
 5     DECLARE @COUNT INT  
     SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)  
       BEGIN  
         DELETE FROM myDATA_Details WHERE DealerID = @DealerID  
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)  
       END  
     ELSE  
       BEGIN  
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)  
       END  
   END
 --实际例子:http://hovertree.com/hovertreescj/sql/p_hovertreescj_urls_add.htm
ログイン後にコピー

F5、作成は成功しました。これを呼び出してデータを挿入します。OK、問題ありません。挿入は成功し、期待された目的が達成されました。

は次の目的で使用されます。データを更新するコードは次のとおりです:


CREATE PROCEDURE PROC_INSERT_DATA_DETAIL
     @DealerID varchar(<strong>50</strong>), 
     @FieldName varchar(<strong>2000</strong>),
     @FieldValue varchar(<strong>2000</strong>)
   AS
   BEGIN
     DECLARE @Count INT
     SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)
       BEGIN
         UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID
       END
     ELSE
       BEGIN
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
       END
   END
ログイン後にコピー

または:

修正コード


 ALTER PROCEDURE PROC_INSERT_DATA_DETAIL
     @DealerID varchar(<strong>50</strong>), 
     @FieldName varchar(<strong>2000</strong>),
     @FieldValue varchar(<strong>2000</strong>)
   AS
   BEGIN
     DECLARE @Count INT
     DECLARE @StrSQL VARCHAR(<strong>2000</strong>)
     SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
     IF (@COUNT><strong>0</strong>)
       BEGIN
         SET @StrSQL = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID
         EXEC(@StrSQL)
       END
     ELSE
       BEGIN
         INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
         SET @StrSQL = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID
         EXEC(@StrSQL)
       END
   END
ログイン後にコピー

以上がSQL Server ストアド プロシージャを作成および変更するための実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート