mysql_delete.sql 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. use xms;
  2. SET SQL_SAFE_UPDATES = 0;
  3. DELIMITER $$
  4. /* Trigger structure for tablegaf_user_acct `xms_app_info` */
  5. DROP TRIGGER IF EXISTS `delete_app` $$
  6. CREATE TRIGGER `delete_app` AFTER DELETE ON `xms_app_info` FOR EACH ROW BEGIN
  7. /*删除一对多关系*/
  8. /*1.删除资源关联*/
  9. delete from xms_app_res
  10. where app_id = old.app_id;
  11. /*2.删除角色关联*/
  12. DELETE FROM xms_app_role
  13. WHERE app_id = old.app_id;
  14. /*删除多对多关系*/
  15. DELETE FROM xms_bind_item
  16. WHERE source = old.app_id
  17. AND SUBSTRING_INDEX(bind_type,'-',1) = 'app';
  18. DELETE FROM xms_bind_item
  19. WHERE target = old.app_id
  20. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'app';
  21. END $$
  22. /* Trigger structure for table `xms_app_res` */
  23. DROP TRIGGER IF EXISTS `delete_res`$$
  24. CREATE TRIGGER `delete_res` AFTER DELETE ON `xms_app_res` FOR EACH ROW BEGIN
  25. /*删除多对多关系*/
  26. DELETE FROM xms_bind_item
  27. WHERE source = old.res_id
  28. AND SUBSTRING_INDEX(bind_type,'-',1) = 'res';
  29. DELETE FROM xms_bind_item
  30. WHERE target = old.res_id
  31. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'res';
  32. END $$
  33. /* Trigger structure for table `xms_app_role` */
  34. DROP TRIGGER IF EXISTS `delete_role` $$
  35. CREATE TRIGGER `delete_role` AFTER DELETE ON `xms_app_role` FOR EACH ROW BEGIN
  36. /*删除多对多关系*/
  37. DELETE FROM xms_bind_item
  38. WHERE source = old.role_id
  39. AND SUBSTRING_INDEX(bind_type,'-',1) = 'role';
  40. DELETE FROM xms_bind_item
  41. WHERE target = old.role_id
  42. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'role';
  43. END $$
  44. /* Trigger structure for table `xms_user_acct` */
  45. DROP TRIGGER IF EXISTS `delete_acct` $$
  46. CREATE TRIGGER `delete_acct` AFTER DELETE ON `xms_user_acct` FOR EACH ROW BEGIN
  47. /*删除多对多关系*/
  48. DELETE FROM xms_bind_item
  49. WHERE source = old.acct_id
  50. and SUBSTRING_INDEX(bind_type,'-',1) = 'acct';
  51. DELETE FROM xms_bind_item
  52. WHERE target = old.acct_id
  53. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'acct';
  54. END $$
  55. /* Trigger structure for table `xms_user_cert` */
  56. DROP TRIGGER IF EXISTS `delete_cert` $$
  57. CREATE TRIGGER `delete_cert` AFTER DELETE ON `xms_user_cert` FOR EACH ROW BEGIN
  58. /*删除多对多关系*/
  59. DELETE FROM xms_bind_item
  60. WHERE source = old.cert_id
  61. AND SUBSTRING_INDEX(bind_type,'-',1) = 'cert';
  62. DELETE FROM xms_bind_item
  63. WHERE target = old.cert_id
  64. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'cert';
  65. END $$
  66. /* Trigger structure for table `xms_user_group` */
  67. DROP TRIGGER IF EXISTS `delete_group` $$
  68. CREATE TRIGGER `delete_group` AFTER DELETE ON `xms_user_group` FOR EACH ROW BEGIN
  69. /*删除多对多关系*/
  70. DELETE FROM xms_bind_item
  71. WHERE source = old.group_id
  72. AND SUBSTRING_INDEX(bind_type,'-',1) = 'group';
  73. DELETE FROM xms_bind_item
  74. WHERE target = old.group_id
  75. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'group';
  76. END $$
  77. /* Trigger structure for table `xms_user_info` */
  78. DROP TRIGGER IF EXISTS `delete_user` $$
  79. CREATE TRIGGER `delete_user` AFTER DELETE ON `xms_user_info` FOR EACH ROW BEGIN
  80. /*删除一对多关系*/
  81. /*1.删除帐号关联*/
  82. DELETE FROM xms_user_acct
  83. WHERE user_id = old.user_id;
  84. /*2.删除证书关联*/
  85. DELETE FROM xms_user_cert
  86. WHERE user_id = old.user_id;
  87. /*3.删除凭证关联*/
  88. delete from xms_user_register_cred
  89. where user_id = old.user_id;
  90. /*删除多对多关系*/
  91. DELETE FROM xms_bind_item
  92. WHERE source = old.user_id
  93. AND SUBSTRING_INDEX(bind_type,'-',1) = 'user';
  94. DELETE FROM xms_bind_item
  95. WHERE target = old.user_id
  96. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'user';
  97. END $$
  98. /* Trigger structure for table `xms_user_org` */
  99. DROP TRIGGER IF EXISTS `delete_org` $$
  100. CREATE TRIGGER `delete_org` AFTER DELETE ON `xms_user_org` FOR EACH ROW BEGIN
  101. /*删除多对多关系*/
  102. DELETE FROM xms_bind_item
  103. WHERE source = old.org_id
  104. AND SUBSTRING_INDEX(bind_type,'-',1) = 'org';
  105. DELETE FROM xms_bind_item
  106. WHERE target = old.org_id
  107. AND SUBSTRING_INDEX(bind_type,'-',-1) = 'org';
  108. END $$
  109. DELIMITER ;
  110. SET SQL_SAFE_UPDATES = 1;