zoukankan      html  css  js  c++  java
  • set @CurrentID=@@IDENTITY

    create database dbTemp;
    use dbTemp;
    raiserror('正在创建表:A表....',0,1)
    create table A(AID int not null identity(1,1) constraint pk_aid primary key clustered, AName nvarchar(10))
    GO
    raiserror('正在插入A表:三条记录....',0,1)
    INSERT A   SELECT 'zjp'
    UNION  ALL   SELECT '8023'
    UNION  ALL    SELECT 'X8023Z'

    GO
    create table B(BID int constraint FK_Bid FOREIGN KEY (BID) REFERENCES A(AID), BName nvarchar(10))
    GO
    raiserror('正在插入B表:三条记录....',0,1)
    INSERT B  SELECT 1,'xhy'
    UNION  ALL   SELECT 2,'123'
    UNION  ALL    SELECT 2,'456'

    --创建插入两表的存储过程
    --插入开始
    create procedure SP_INSERT_AB
     @AName nvarchar(10),
     @BName nvarchar(10)
      WITH ENCRYPTION
    as
      begin tran--启动事务
            declare @ERROR int
            set @ERROR=0
            declare @CurrentID int
            begin
                INSERT INTO A VALUES(@AName)
                SET @ERROR =@ERROR +@@ERROR
                      IF (@ERROR <>0) GOTO EXT
                set @CurrentID=@@IDENTITY   
                insert into B values(@CurrentID,@BName)
               SET @ERROR =@ERROR +@@ERROR
                      IF (@ERROR <>0) GOTO EXT
            end
     
       --异常出口
       EXT:
        
       --判断执行状态
      IF (@ERROR =0)
         BEGIN
             COMMIT
         END
      ELSE
         ROLLBACK
    go
    --插入结束
    --执行存储过程
    exec SP_Insert_AB '777','888'
    --select * from a
    --select * from b
    --删除数据库
    go
    use master
    drop database dbTemp
    go
  • 相关阅读:
    webrtc连接方法——TURN服务器和STUN服务器作用简介
    IM音视频即时通讯系统EasyRTC如何利用webrtc技术进行优化和发展?
    TSINGSEE青犀视频平台可以实现音视频混流吗?
    深入浅出Java 重定向和请求转发的区别
    特征工程-特征提取
    cart剪枝
    决策树算法简介
    逻辑回归介绍
    sklearn模型的保存和加载
    celery 定时任务时间篇
  • 原文地址:https://www.cnblogs.com/zjp8023/p/SQL03.html
Copyright © 2011-2022 走看看