日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQL點滴28—一個簡單的存儲過程

系統 2060 0
原文: SQL點滴28—一個簡單的存儲過程

在表中寫入一條數據同事要向另外一個表中寫入信息,所以會使用到事務。實際使用的時候還會一次向一個表中吸入多條數據,下面的存儲過程,將字符串拆分成數組然后寫入到表中。

      
        /*
      
      
        ***** Object:  StoredProcedure [dbo].[sp_InsertEmployee]    Script Date: 09/17/2012 23:28:42 *****
      
      
        */
      
      
        SET
      
       ANSI_NULLS 
      
        ON
      
      
        GO
      
      
        SET
      
       QUOTED_IDENTIFIER 
      
        ON
      
      
        GO
      
      
        --
      
      
         =============================================
      
      
        

--
      
      
         Author:        <Author,,Name>
      
      
        

--
      
      
         Create date: <Create Date,,>
      
      
        

--
      
      
         Description:    插入一條雇員數據
      
      
        

--
      
      
         =============================================
      
      
        CREATE
      
      
        PROCEDURE
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        sp_InsertEmployee
      
      
        ]
      
      
        --
      
      
         Add the parameters for the stored procedure here
      
      
        @Name
      
      
        varchar
      
      (
      
        50
      
      
        ),


      
      
        @UserName
      
      
        varchar
      
      (
      
        50
      
      
        ),


      
      
        @Password
      
      
        varchar
      
      (
      
        50
      
      
        ),


      
      
        @Hierarchy
      
      
        char
      
      (
      
        1
      
      
        ),


      
      
        @EmployeeTypeID
      
      
        int
      
      
        ,


      
      
        @Sex
      
      
        varchar
      
      (
      
        5
      
      
        ),


      
      
        @Telphone
      
      
        varchar
      
      (
      
        20
      
      
        ),


      
      
        @CellPhone
      
      
        varchar
      
      (
      
        20
      
      
        ),


      
      
        @QQ
      
      
        varchar
      
      (
      
        20
      
      
        ),


      
      
        @Email
      
      
        varchar
      
      (
      
        50
      
      
        ),


      
      
        @Statue
      
      
        varchar
      
      (
      
        20
      
      
        ),


      
      
        @Remark
      
      
        varchar
      
      (
      
        50
      
      
        ),


      
      
        @ManagerID
      
      
        int
      
      
        ,


      
      
        @Regions
      
      
        varchar
      
      (
      
        1000
      
      
        )


      
      
        AS
      
      
        BEGIN
      
      
        --
      
      
         SET NOCOUNT ON added to prevent extra result sets from
      
      
        

--
      
      
         interfering with SELECT statements.
      
      
        SET
      
       NOCOUNT 
      
        ON
      
      
        ;


      
      
        declare
      
      
        @ID
      
      
        int
      
      
        declare
      
      
        @tempSql
      
      
        varchar
      
      (
      
        2000
      
      
        )




      
      
        --
      
      
         Insert statements for procedure here
      
      
        if
      
      
        exists
      
      (
      
        select
      
      
        *
      
      
        from
      
       Employee 
      
        where
      
       Name
      
        =
      
      
        @Name
      
      
        )

    
      
      
        return
      
      
        0
      
      
        begin
      
      
        transaction
      
      
        insert
      
      
        into
      
      
        [
      
      
        Employee
      
      
        ]
      
      
        (

    
      
      
        [
      
      
        Name
      
      
        ]
      
      ,
      
        [
      
      
        UserName
      
      
        ]
      
      ,
      
        [
      
      
        Password
      
      
        ]
      
      ,
      
        [
      
      
        Hierarchy
      
      
        ]
      
      ,
      
        [
      
      
        EmployeeTypeID
      
      
        ]
      
      ,
      
        [
      
      
        Sex
      
      
        ]
      
      ,
      
        [
      
      
        Telphone
      
      
        ]
      
      ,
      
        [
      
      
        CellPhone
      
      
        ]
      
      ,
      
        [
      
      
        QQ
      
      
        ]
      
      ,
      
        [
      
      
        Email
      
      
        ]
      
      ,
      
        [
      
      
        Statue
      
      
        ]
      
      ,
      
        [
      
      
        Remark
      
      
        ]
      
      ,
      
        [
      
      
        ManagerID
      
      
        ]
      
      
        

    )
      
      
        values
      
      
        (

    
      
      
        @Name
      
      ,
      
        @UserName
      
      ,
      
        @Password
      
      ,
      
        @Hierarchy
      
      ,
      
        @EmployeeTypeID
      
      ,
      
        @Sex
      
      ,
      
        @Telphone
      
      ,
      
        @CellPhone
      
      ,
      
        @QQ
      
      ,
      
        @Email
      
      ,
      
        @Statue
      
      ,
      
        @Remark
      
      ,
      
        @ManagerID
      
      
        

    )

    
      
      
        set
      
      
        @ID
      
      
        =
      
      
        @@IDENTITY
      
      
        if
      
      
        exists
      
      (
      
        select
      
      
        *
      
      
        from
      
       Permission 
      
        where
      
       ID
      
        =
      
      
        @ID
      
      
        )

    
      
      
        begin
      
      
        delete
      
      
        from
      
       Permission 
      
        where
      
       EmployeeID
      
        =
      
      
        @ID
      
      
        end
      
      
        else
      
      
        begin
      
      
        set
      
      
        @tempSql
      
      
        =
      
      
        '
      
      
        insert into Permission select 
      
      
        '
      
      
        +
      
      
        str
      
      (
      
        @ID
      
      )
      
        +
      
      
        '
      
      
        , 
      
      
        '''
      
      
        +
      
      
        replace
      
      (
      
        @Regions
      
      ,
      
        '
      
      
        ,
      
      
        '
      
      ,
      
        '''
      
      
        union select 
      
      
        '
      
      
        +
      
      
        str
      
      (
      
        @ID
      
      )
      
        +
      
      
        '
      
      
        ,
      
      
        '''
      
      )
      
        +
      
      
        ''''
      
      
        exec
      
      (
      
        @tempSql
      
      
        )

    
      
      
        end
      
      
        if
      
      
        @@ERROR
      
      
        >
      
      
        0
      
      
        begin
      
      
        rollback
      
      
        transaction
      
      
        end
      
      
        else
      
      
        begin
      
      
        commit
      
      
        transaction
      
      
        end
      
      
        END
      
      
        GO
      
    

SQL點滴28—一個簡單的存儲過程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 调兵山市| 山西省| 巩留县| 阿巴嘎旗| 五河县| 上高县| 茌平县| 克拉玛依市| 汽车| 酒泉市| 华亭县| 汶上县| 福泉市| 铜梁县| 藁城市| 汉川市| 肃北| 永兴县| 高安市| 沽源县| 托克托县| 洪江市| 双城市| 凌海市| 读书| 金湖县| 奈曼旗| 新津县| 维西| 康定县| 象山县| 阿拉善盟| 绥江县| 莱芜市| 高要市| 博爱县| 遵义市| 肥西县| 琼中| 讷河市| 文安县|