sql 创建多表删除的存储过程

CREATE PROCEDURE [dbo].[存储哦过程的名称]

@userID varchar(50) --声明变量
AS
BEGIN
IF(@userID=‘‘ OR @userID IS NULL) --判断是否输入
BEGIN
   SELECT ‘0‘ as ‘message‘,‘请输入要删除的用户ID!‘ AS ‘ErrorInfo‘ --提示信息
   RETURN
END

BEGIN TRANSACTION --开启事务

DELETE FROM 表1 WHERE ID = @userID; --删除表中数据
IF(@@ERROR<>0)
BEGIN
   ROLLBACK TRANSACTION;
   SELECT ‘0‘ as ‘message‘,‘删除失败!‘ AS ‘ErrorInfo‘
   RETURN
END

DELETE FROM 表2 WHERE ID = @userID; --删除表中数据
IF(@@ERROR<>0)
BEGIN
   ROLLBACK TRANSACTION;
   SELECT ‘0‘ as ‘message‘,‘删除失败!‘ AS ‘ErrorInfo‘
   RETURN
END

DELETE FROM 表3 WHERE ID = @userID; --删除表中信息
IF(@@ERROR<>0)
BEGIN
   ROLLBACK TRANSACTION;
   SELECT ‘0‘ as ‘message‘,‘删除失败!‘ AS ‘ErrorInfo‘
   RETURN
END COMMIT TRANSACTION;
SELECT ‘0‘ as ‘message‘,‘删除成功!‘ AS ‘ErrorInfo‘
END;

时间: 2024-08-29 15:41:56

sql 创建多表删除的存储过程的相关文章

SQL创建Oracle表空间、用户以及给用户赋权的方法

//创建表空间 Create tablespace examination//创建表空间examination datafile 'c:\Oracle\zhangwei\examination.dbf'//与表空间关联的文件存放位置(要预先手动建好文件夹) size 100m//文件初始大小,千万不要写成mb(这里以下可略) autoextend on//文件大小可自动拓展 next 30m//每次拓展30m maxsize unlimited//不限制文件大小的上限 logging//生成对于

SQL 查询某个表被哪些存储过程使用到

--1.查询某个表被哪些存储过程使用到 : select distinct object_name(id) from syscomments where id in (select object_id from sys.objects where type ='P') and text like'%TableName%' --2.查找那些过程对该表做了更新操作: select distinct object_name(id) from syscomments where id in(select

PL/SQL创建、调试、调用存储过程

存储过程  所用函数说明  功能:求和与差  原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number)   参数:m=p1+p2 b=p1-p2  1.先建存储过程 左边的浏览窗口选择 procedures ,会列出所有的存储过程,右击文件夹procedures单击菜单“new",弹出  template wizard窗口, name框中输入 GetSumAndSub ,parameters中填入: p1

SQL Server 多表删除

第一步: 建表 create table t1(x int, y int); create table t2(x int, y int); go insert into t1(x,y) values(1,2),(2,3),(3,4),(4,5),(5,6); insert into t2(x,y) values(1,2),(2,3); go 第二步: 删除t1表中的相关行 delete a from t1 as a inner join t2 as b on a.x=b.x; 第三步: 第二步就

SQL 查看某个表被哪些存储过程或者视图使用

--查询某个表被哪些视图/存储过程使用(type='P':表示存储过程,type='V':表示视图) SELECT OBJECT_NAME(id) FROM syscomments WHERE id IN(SELECT object_id FROM sys.objects WHERE type='P')AND text LIKE '%表名称%' 原文地址:https://www.cnblogs.com/weipf/p/10829771.html

Python 创建数据表

其实跟 Python 执行 MySQL 事务的操作差不多: [[email protected] ~]# cat 1.py #!/usr/bin/env python import MySQLdb def connect_mysql(): db_config = { 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'passwd': 'pzk123', 'db': 'test' } c = MySQLdb.connect(**db_confi

PHP全栈开发(七):PHP与MySQL存储交互(1.连接、创建数据库;创建数据表)

在Linux服务器中可以使用命令 mysqladmin -u root password beijing2007; 来修改MySQL的root用户的密码. 但是在我们自己安装了wampserver的电脑里面,可以到PhpMyAdmin这个网页页面去改,初始root密码同样为空. 然后我们用面向过程的MySQLi来进行数据库的链接,链接代码如下: <?php $servername = "localhost"; $username = "root"; $pass

雷林鹏分享:PHP 创建 MySQL 表

一个数据表有一个唯一名称,并有行和列组成. 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表. 创建表前,我们需要使用 use myDB 来选择要操作的数据库: use myDB; 我们将创建一个名为 "MyGuests" 的表,有 5 个列: "id", "firstname", "lastname", "email" 和 "reg_d

SQL Server 删除数据库所有表和所有存储过程

场景: SQL Server中,需要删除所有表或所有存储过程时,手动的方式只能逐个进行删除,耗个人时间,所以想弄个语句来实现这样的需求. 如果由于外键约束删除table失败,则先删除所有约束: --/第1步**********删除所有表的外键约束*************************/ 1 DECLARE c1 cursor for 2 select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+na