Q. How to drop same rule applied on all the table in a single statement using sp_MSforeachtable (in Point 2 )?
1. // Rule apply on one table
create table table1
(id int , name varchar(10), city varchar(10))
create rule namerule
as
len(@name)<10
sp_bindrule namerule,'table1.name'
sp_unbindrule'table1.name'
drop rule namerule
2. // Same Rule apply on both the table
create table table1
(id int , name varchar(10), city varchar(10))
create table table2
(id int , name varchar(10), city varchar(10), primary key (id) )
create rule namerule
as
len(@name)<10
sp_bindrule namerule,'table1.name'
sp_bindrule namerule,'table2.name'
sp_unbindrule'table1.name';
sp_unbindrule 'table2.name'
Exec sp_MSforeachtable 'drop rule ?' // Please correct this line
1. // Rule apply on one table
create table table1
(id int , name varchar(10), city varchar(10))
create rule namerule
as
len(@name)<10
sp_bindrule namerule,'table1.name'
sp_unbindrule'table1.name'
drop rule namerule
2. // Same Rule apply on both the table
create table table1
(id int , name varchar(10), city varchar(10))
create table table2
(id int , name varchar(10), city varchar(10), primary key (id) )
create rule namerule
as
len(@name)<10
sp_bindrule namerule,'table1.name'
sp_bindrule namerule,'table2.name'
sp_unbindrule'table1.name';
sp_unbindrule 'table2.name'
Exec sp_MSforeachtable 'drop rule ?' // Please correct this line