2020-08-03

db2唯一索引与唯一约束,重复删除唯一约束存储过程

db2唯一索引与唯一约束,重复删除唯一约束存储过程

今天写可重复执行的脚本时,发现没有重复删除约束的存储过程,写此纪录。

--先创建唯一约束会自动创建唯一索引且两者名字相同,若该字段上已有索引,再次创建索引的语句无效,此时第二句话无效。--先创建唯一索引不会创建唯一约束,在执行创建唯一约束,此时两者名字不同ALTER TABLE USER_TEST ADD CONSTRAINT CONS_ID UNIQUE(ID);CREATE UNIQUE INDEX INDEX_ID ON USER_TEST(ID);--删除唯一约束时,会将该约束带来的索引一并删除。--如果先创建的索引,必须先删除约束才能删除索引。ALTER TABLE USER_TEST DROP CONSTRAINT CONS_ID;DROP INDEX INDEX_ID;--创建删除索引存储过程--1.变量名称不可以与表中字段名称一样,若一样不执行where语句,万一是delete或者update可就惨喽。--2.拼接sql语句时,记得关键字前后的空格,不然与表名连接在一起报语法错误。CREATE PROCEDURE "WUSB"."TRYDROPCONS" ( IN "TABLENAME" VARCHAR(50) , IN "CONSTRAINTNAME" VARCHAR(50))BEGIN 	DECLARE EX VARCHAR(500);	DECLARE NUM INT;	SELECT 		COUNT(*) INTO NUM	FROM		SYSCAT.KEYCOLUSE k 	WHERE 		K.CONSTNAME = UPPER(CONSTRAINTNAME) AND 		K.TABNAME = UPPER(TABLENAME);		IF NUM > 0 		THEN SET EX = ' ALTER TABLE ' || TABLENAME || ' DROP CONSTRAINT ' || CONSTRAINTNAME;		PREPARE EXT FROM EX;		EXECUTE EXT;	END IF;END
db2唯一索引与唯一约束,重复删除唯一约束存储过程黑石集团快速进入LAZADA平台2017站外营销全攻略进阶版干货|外贸人应对疫情最全秘籍! 号外!号外!美国破天荒放了大招,卖家们机会来了! 亚马逊PPC广告的一些黑帽玩法小孩子坐和谐号怎么买票的?一张身份证能买两张票吗?去从化碧水湾泡温泉需要带什么?罗湖火车站离哪个地铁站最近?从哪个出口出?

No comments:

Post a Comment