簡體   English   中英

如何使用SQL 2012創建存儲過程?

[英]How to create Stored Procedure using SQL 2012?

我有一張桌子“雇主”

Employerid int
InsuranceNumber varchar(10)
Ministry nvarchar(100)
Adress nvarchar(250)
PostalCode varchar(50)
Phone varchar(14)
Mobile varchar(14)
Email nvarchar(60)
UserName nvarchar(50)
Password nvarchar(50)
ContactPerson nvarchar(250)
EntryDate datetime
LastUpdateDate datetime
IsDeleted bit
Active bit 

我已經創建了如何使用插入存儲的過程來插入數據

Create procedure dbo.Employers_Insert
@InsuranceNumber nvarchar(10),
@Ministry nvarchar(100),
@Adress nvarchar(250),
@PostalCode varchar(50),
@Phone varchar(14),
@Mobile varchar(14),
@Email nvarchar(60),
@UserName nvarchar(50),
@Password nvarchar(50),
@ContactPerson nvarchar(250),
@EntryDate datetime,
@LastUpdateDate datetime,
@IsDeleted bit,
@Active bit
-->AS
-->BEGAIN
Insert Employers (InsuranceNumber, Ministry, Adress , PostalCode ,
Phone, Mobile , Email, UserName , [Password] , ContactPerson, EntryDate,
LastUpdateDate, IsDeleted, Active)
values (@InsuranceNumber, @Ministry, @Adress , @PostalCode ,
@Phone, @Mobile , @Email, @UserName , @[Password] , @ContactPerson, EntryDate,
@LastUpdateDate, @IsDeleted, @Active)
End

我仍然需要創建Search,GetByID,GetByPage,GetList ..存儲過程。..:)有什么幫助嗎?

您的問題不是很清楚。
插入記錄的正確過程代碼:

CREATE PROCEDURE dbo.Employers_Insert
(
    @InsuranceNumber nvarchar(10),
    @Ministry nvarchar(100),
    @Adress nvarchar(250),
    @PostalCode varchar(50),
    @Phone varchar(14),
    @Mobile varchar(14),
    @Email nvarchar(60),
    @UserName nvarchar(50),
    @Password nvarchar(50),
    @ContactPerson nvarchar(250),
    @EntryDate datetime,
    @LastUpdateDate datetime,
    @IsDeleted bit,
    @Active bit
)
AS
BEGIN

    INSERT INTO dbo.Employers 
    (
            InsuranceNumber, Ministry, Adress, PostalCode,
            Phone, Mobile, Email, UserName, [Password], ContactPerson, EntryDate,
            LastUpdateDate, IsDeleted, ACTIVE
    )
    VALUES 
    (
            @InsuranceNumber, @Ministry, @Adress, @PostalCode,
            @Phone, @Mobile, @Email, @UserName, @Password, @ContactPerson, @EntryDate,
            @LastUpdateDate, @IsDeleted, @Active
    )

END

如果EmployerId是自動遞增的,或者您需要將EmployerId作為存儲過程的參數傳遞,則還需要使用IDENTITY規范指定列EmployerId。

您在dbo.Employers_Insert時遇到問題,或者您需要搜索,GetByID,GetByPage,GetList的代碼?

根據您的業務需求,您可以編寫以下搜索過程:

CREATE PROCEDURE sp_EmployersSearch
    @Employerid int,-- Add here all the search parameters you'll send from application
    @InsuranceNumber nvarchar(10),
    @Ministry nvarchar(100),
    @Adress nvarchar(250),
    @PostalCode varchar(50),
    @Phone varchar(14),
    @Mobile varchar(14),
    @Email nvarchar(60),
    @UserName nvarchar(50),
    @Password nvarchar(50),
    @ContactPerson nvarchar(250),
    @EntryDate datetime,
    @LastUpdateDate datetime,
    @IsDeleted bit,
    @Active bit
AS
SELECT InsuranceNumber,-- Add here all the columns you want to  send back to application
       Ministry,
       Adress ,
       PostalCode ,
       Phone,
       Mobile ,
       Email,
       UserName ,
       [Password] ,
       ContactPerson,
       EntryDate,
       LastUpdateDate,
       IsDeleted,
       Active
FROM employers
WHERE     (@Employerid IS NULL OR Employerid = @Employerid)
      AND (@InsuranceNumber IS NULL OR InsuranceNumber LIKE '%' + @InsuranceNumber + '%')
      AND (@Ministry IS NULL OR Ministry LIKE '%' + @Ministry + '%')
      AND (@Adress IS NULL OR Adress LIKE '%' + @Adress + '%')
      AND (@PostalCode IS NULL OR PostalCode = @PostalCode)
      --You can add search conditions here based on your business requirements

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM