Highlight
Sql
code posted
created at 19 Jan 16:38
Edit
|
Back
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
DECLARE in_clause ALIAS FOR $1; tenant ALIAS FOR $2; categoryId int; requestId bigint; BEGIN SET CONSTRAINTS ALL DEFERRED; FOR categoryId IN SELECT id FROM category WHERE category_biz = ANY(in_clause) and tenant_ref=tenant order by level desc LOOP RAISE NOTICE 'Category Id = %', categoryId; DELETE FROM art_leafcat_join WHERE cat_ref = categoryId; DELETE FROM cat_cat_join WHERE cat_ref = categoryId; DELETE FROM cat_cat_join WHERE child_cat_ref = categoryId; DELETE FROM art_cat_join WHERE cat_ref = categoryId; DELETE FROM prd_cat_join WHERE cat_ref = categoryId; DELETE FROM product_blacklist WHERE type >= 3 AND (from_ref = categoryId OR to_ref = categoryId); DELETE FROM product_relationship WHERE (from_ref = categoryId AND type >= 2) OR (to_ref = categoryId AND type = 3); DELETE FROM product_exploded_relationship WHERE parent_ref NOT IN (SELECT id FROM product_relationship); DELETE from request where id in (SELECT id from request where category_ref = categoryId or optional_category_ref = categoryId); PERFORM deletecategories(array_agg(category_biz), tenant) FROM category WHERE parent_category_ref = categoryId; DELETE FROM category WHERE id = categoryId; END LOOP; RETURN; END |
1.24 KB in 3 ms with coderay