CRUD の基本

SQL Server における関数とストアドプロシージャの作成

Meghan Kwartler

IT Consultant

なぜ CRUD にストアドプロシージャ?

  • SQL を他のアプリ層から分離できる

チャプター3 N層アーキテクチャ

SQL Server における関数とストアドプロシージャの作成

なぜ CRUD にストアドプロシージャ?

  • SQL を他のアプリ層から分離できる

  • セキュリティ向上

チャプター3 N層アーキテクチャ

SQL Server における関数とストアドプロシージャの作成

なぜ CRUD にストアドプロシージャ?

  • SQL を他のアプリ層から分離できる

  • セキュリティ向上

  • パフォーマンス

チャプター3 N層アーキテクチャ

SQL Server における関数とストアドプロシージャの作成

C は CREATE(作成)

CREATE PROCEDURE dbo.cusp_TripSummaryCreate (
  @TripDate as date, 
  @TripHours as numeric(18, 0)
) AS BEGIN INSERT INTO dbo.TripSummary(Date, TripHours) 
VALUES 
  (@TripDate, @TripHours) 
SELECT Date, TripHours 
FROM dbo.TripSummary 
WHERE Date = @TripDate END
SQL Server における関数とストアドプロシージャの作成

R は READ(参照)

CREATE PROCEDURE cusp_TripSummaryRead
    (@TripDate as date)
AS
BEGIN
SELECT Date, TripHours
FROM TripSummary
WHERE Date = @TripDate
END;
SQL Server における関数とストアドプロシージャの作成

U は UPDATE(更新)

CREATE PROCEDURE dbo.cusp_TripSummaryUpdate
    (@TripDate as date,
    @TripHours as numeric(18,0))
AS
BEGIN
UPDATE dbo.TripSummary
SET Date = @TripDate,
    TripHours = @TripHours
WHERE Date = @TripDate
END;
SQL Server における関数とストアドプロシージャの作成

D は DELETE(削除)

CREATE PROCEDURE cusp_TripSummaryDelete
    (@TripDate as date, 
     @RowCountOut int OUTPUT)
AS
BEGIN
DELETE
FROM TripSummary
WHERE Date = @TripDate

SET @RowCountOut = @@ROWCOUNT
END;
SQL Server における関数とストアドプロシージャの作成

CRUD をやってみましょう

SQL Server における関数とストアドプロシージャの作成

Preparing Video For Download...