sqlserver 存储过程当中如何实现增删改查

news2024/11/23 0:02:55

 

--声明存储过程   新增编辑
ALTER procedure [dbo].[Eng_MyAddOrEdtADPro]
    @My_Cocode int,
    @Type int, --  --1 新增  2 编辑
    @My_KeyId uniqueidentifier,
    @My_PCode int,
    @My_SCode int,
    @My_PName nvarchar(36),
    @My_SName nvarchar(36),
    @My_Order int,
    @My_Apply_UserName nvarchar(36),
    @My_Apply_UserId uniqueidentifier,--申请人的Id
    @My_Error int output,
    @My_ErrorMessage nvarchar(50) output
as
declare @error int;
declare @errormessage nvarchar(50);


set @error=0;
set @errormessage='返回数据成功';


BEGIN     


      DECLARE @My_SKeyId nvarchar(36);
      DECLARE @My_SCode2 int;
      DECLARE @My_PKeyId nvarchar(36);
      DECLARE @My_PCode2 int;

      SELECT @My_SCode2=My_SCode,@My_SKeyId=My_SKeyId FROM MyADs A WHERE A.My_Cocode=@My_Cocode AND (My_SCode=@My_SCode OR A.My_SName=@My_SName) AND My_Status=1;
           
      SELECT @My_PCode2=My_PCode,@My_PKeyId=My_PKeyId FROM MyADs A WHERE A.My_Cocode=@My_Cocode AND (My_PCode=@My_PCode OR A.My_PName=@My_PName) AND My_Status=1;

      IF ISNULL(@My_SCode,'')='' OR  ISNULL(@My_SCode,'')!=@My_SCode2 OR ISNULL(@My_SKeyId,'')='' OR  ISNULL(@My_PCode,'')='' OR ISNULL(@My_PCode,'')!=@My_PCode2 OR ISNULL(@My_PKeyId,'')=''
      BEGIN
          SET @error=1;
          SET @errormessage = '不存在或者不匹配!';
          -- RETURN;
      END

      IF @error=0
      BEGIN

      IF @Type=1
      BEGIN
           INSERT INTO MyADs VALUES (@My_KeyId,@My_Cocode,@My_PKeyId,@My_SKeyId,@My_PCode2,@My_SCode2,@My_PName,@My_SName,1,@My_Order,@My_Apply_UserName,@My_Apply_UserId,GETDATE(),@My_Apply_UserName,@My_Apply_UserId,GETDATE());
      END

      
      IF @Type=2 
      BEGIN
           UPDATE MyADs SET My_SName=@My_SName,@My_PName=My_PName,My_Order=@My_Order,My_UpdateUserName=@My_Apply_UserName,My_UpdateUserId=@My_Apply_UserId,My_UpdateDate=GETDATE()  WHERE  My_KeyId=@My_KeyId AND My_Status=1;
      END

      SET @errormessage =@My_SName+ '更新成功!';

      END

     SET @My_Error=@error;SET @My_ErrorMessage=@errormessage
     SET @My_SKeyId=NULL;
     SET @My_PKeyId=NULL;
     SET @My_SCode2=NULL;
     SET @My_PCode2=NULL;
     SET @error=NULL;
     SET @errormessage=NULL;
END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/767354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPUU的小工具拍了拍你(下)

IPUU是埃文科技旗下的综合性IP查询网站,提供多维度的IP数据信息。通过在线查询,用户可以获取目标IP地址的详尽信息,包括位置属性、网络属性、风险属性以及业务属性等,同时还可以查询域名信息。无论您是需要查看某个IP地址归属地&a…

1.13 通过aop日志监控service执行时间

步骤1&#xff1a;添加aop依赖包 <!-- aop切面 依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>步骤2&#xff1a;创建AOP日记监控记录切面类 …

微服务架构——配置中心

「配置中心」&#xff0c;顾名思义&#xff0c;就是用来统一管理项目中所有配置的系统。虽然听起来很简单&#xff0c;但也不要小瞧了这个模块。如果一个中型互联网项目&#xff0c;不采用配置中心的模式&#xff0c;一大堆的各类配置项&#xff0c;各种不定时的修改需求&#…

TMS Aurelius v5.15 Source Crack

TMS Aurelius v5.15 Source Crack 面向Delphi的ORM框架&#xff0c;完全支持数据操作、复杂和高级查询、继承、多态等。。。 功能详细信息 支持多个数据库服务器(MS SQL Server、Firebird、MySQL、DB2、Interbase、Oracle等) 支持多个数据库访问组件(dbExpress、AnyDac、SQLDir…

Linux驱动开发:设备树dts详解

前言&#xff1a;掌握设备树是 Linux 驱动开发人员必备的技能&#xff01;因为在新版本的 Linux 中&#xff0c;ARM 相关的驱动全部采用了设备树(也有支持老式驱动的&#xff0c;比较少)&#xff0c;最新出的 CPU 其驱动开发也基本都是基于设备树的&#xff0c;比如 ST 新出的 …

Stable Diffusion + EbSynth + ControlNet 解决生成视频闪烁

一、安装 1.1、安装ffmpeg 下载地址&#xff1a; 解压&#xff0c;配置环境变量 E:\AI\ffmpeg\bin 检查是否安装成功 1.2、安装SD的 EbSynth 插件 插件地址 https://github.com/s9roll7/ebsynth_utility 报错&#xff1a;ModuleNotFoundError: No module named extension…

后端查询出的数据库数字自动补零和不补零

select CAST(YTD_CHANGE*100 as decimal(18,1)), round(YTD_CHANGE*100,1) from RP where data_date 20211231补零 round(PYTD_CHANGE_PER*100,1)不补零 CAST(PYTD_CHANGE_PER*100 as decimal(18,1))

day39-Oracle分区表

0目录 Oracle分区表 1.2.3 1. Oracle分区表 1.1 作用&#xff1a; Oracle数据库的分区把表中的数据行按照分区划成几个区域&#xff0c;提高大数据量下表的性能 1.2 应用场景&#xff1a;常应用于数据量大的表 1.3 分类&#xff1a;Oracle中有范围分区&#xff08;最常见…

LCD-STM32液晶显示中英文-(5.字符编码)

目录 字符编码 字符编码说明参考网站 字符编码 ASCII编码 ASCII编码介绍 ASCII编码表 中文编码 1. GB2312标准 区位码 2. GBK编码 3. GB18030 各个标准的对比说明 4. Big5编码 字符编码 字符编码说明参考网站 字符编码及转换测试&#xff1a;导航菜单 - 千千秀字 …

代码随想录day6 | 1. 两数之和 454.四数相加II 383.赎金信 15.三数之和 18.四数之和

文章目录 1. 两数之和2. 四数相加II3. 赎金信4. 三数之和5. 四数之和 1. 两数之和 1. 两数之和 虽然是LeetCode第一题&#xff0c;但是还是挺难的&#xff01; 模拟一下&#xff1a; class Solution { public:vector<int> twoSum(vector<int> &nums, int ta…

解决appium-doctor报opencv4nodejs cannot be found

一、下载cmake 在CMake官网下载&#xff1a;cmake-3.6.1-win64-x64.msi 二、安装cmake cmake安装过程 在安装时要选择勾选为所有用户添加CMake环境变量 三、检查cmake安装 重新管理员打开dos系统cmd命令提示符&#xff0c;输入cmake -version cmake -version四、安装opencv4no…

美国某市政府出现重大数据泄露事件,疑似离职人员未删除权限

近日&#xff0c;美国得克萨斯州西部城市敖德萨市市长Javier Joven宣布&#xff0c;自2022年12月以来&#xff0c;已经有人多次使用前敖德萨市检察官Natasha Brooks的账户非法访问了该市的政府系统&#xff0c;并将大量敏感信息通过电子邮件转移到了一个私人账户&#xff0c;敖…

创建ReWorks自引导工程

自引导工程开发与集成流程 2、新建工程 3、资源配置 4、代码编写 5、构建项目 右键构件项目&#xff0c;或选择“构建按钮”构建项目 6、配置TFTP服务路径 右键IMX6Q_SMP文件夹&#xff0c;配置TFTP服务路径 或 7、打开串口终端 8、启动开发板 查看网卡 素材来源于&#xff1…

社区版、专业版、企业版、专有版,smardaten四个版本到底怎么选?

这是一篇新老用户都不容错过的文章&#xff01; 要问今年上半年smardaten最大的变化&#xff0c;轻量化版本的推出双手奉上~~ 这时每一个心痒痒的客户&#xff0c;几乎都要迷茫的问睿睿两个问题&#xff1a;“现有版本之间有什么区别&#xff1f;都怎么收费&#xff1f;”。 …

在Microsoft Excel中如何快速将上下两行数据合并为一行?

合并单元格是电子表格初学者最常用的选项之一。当一组单元格、行或列需要标题或标签时,合并单元格是一种常用的技术。 合并单元格时,仅保留区域左上角单元格中的值或公式,并将其显示在合并后的单元格中。将丢弃任何其他值或公式,那么如何在新的空白单元格中将两行数据合并…

yo!这里是类的默认成员函数

目录 前言 默认成员函数 构造函数 1.介绍 2.注意点 析构函数 1.介绍 2.注意点 拷贝构造函数 1.介绍 2.注意点 赋值运算符重载 1.介绍 2.注意点 取地址及const取地址操作符重载 1.介绍 2.注意点 后记 前言 在学习c的过程中&#xff0c;我们知道&#xff0c;c是…

Windows下PyTorch深度学习环境配置(GPU)

一&#xff1a;下载Anaconda &#xff08;路径最好全英文&#xff09; &#xff08;下载好后&#xff0c;可以创建其他虚拟环境&#xff0c;因为是自己学习&#xff0c;所以先不放步骤&#xff0c;有需要者可以参考B站up我是土堆的视频&#xff09; 二&#xff1a;利用 conda…

Stream实现List和Map互转总结

本文来说下Stream实现List和Map互转总结 文章目录 实体类Map转List代码List转Map 实体类 本篇介绍Stream流List和Map互转&#xff0c;同时在转换过程中遇到的问题分析。 package cn.wideth.collect;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArg…

【Linux】udp服务器实现大型网络聊天室

udp终结篇~ 文章目录 前言一、udp服务器实现大型网络聊天室总结 前言 根据上一篇文章中对于英汉互译和远程操作的两个小功能大家应该已经学会了&#xff0c;我们的目的是让大家可以深刻的理解udp服务器所需要的接口已经实现的简单步骤&#xff0c;下面我们开始实现网络聊天室。…

Spring 6【DI的两种方式、自动注入】(四)-全面详解(学习总结---从入门到深化)

目录 八、DI的两种方式 九、自动注入 八、DI的两种方式 IoC是由IoC容器帮助实例化Bean&#xff0c;并且在IoC容器内部注入关联属性(对象)的过程。 在上面演示的都是如何实例化Bean&#xff0c;下面演示的是如果给Bean注入属性。也就是说在讲解IoC/DI的另 一半功能。 在前面…