If exists many tables
up vote
0
down vote
favorite
This may sound stupid, but I would like to know if there is a way to verify if a list of tables exists before doing an action. If I have 12 tables to verify, do I have to repeat “If exists bla bla bla” 12 times?
I tried doing …
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ’employee_id’
and TABLE_NAME = N’employee_address’
and TABLE_NAME = N’employee_division’ )
But it not working. Any idea?
if-statement sql-server-2016
add a comment |
up vote
0
down vote
favorite
This may sound stupid, but I would like to know if there is a way to verify if a list of tables exists before doing an action. If I have 12 tables to verify, do I have to repeat “If exists bla bla bla” 12 times?
I tried doing …
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ’employee_id’
and TABLE_NAME = N’employee_address’
and TABLE_NAME = N’employee_division’ )
But it not working. Any idea?
if-statement sql-server-2016
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
This may sound stupid, but I would like to know if there is a way to verify if a list of tables exists before doing an action. If I have 12 tables to verify, do I have to repeat “If exists bla bla bla” 12 times?
I tried doing …
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ’employee_id’
and TABLE_NAME = N’employee_address’
and TABLE_NAME = N’employee_division’ )
But it not working. Any idea?
if-statement sql-server-2016
This may sound stupid, but I would like to know if there is a way to verify if a list of tables exists before doing an action. If I have 12 tables to verify, do I have to repeat “If exists bla bla bla” 12 times?
I tried doing …
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ’employee_id’
and TABLE_NAME = N’employee_address’
and TABLE_NAME = N’employee_division’ )
But it not working. Any idea?
if-statement sql-server-2016
if-statement sql-server-2016
asked Nov 8 at 16:11
MChalut
153
153
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Your statement will never be true, because table name cannot be one of the these AND at the same time be another of them. In such scenario you can use OR instead of AND, but this will check does at least one of these tables exists. You must either combine 12 EXISTS statements with the names of the tables with AND conditions, or select the count of rows where table name is in list, i.e.:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employee_id')
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_address'
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_division' )
or
IF ((SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME in ('employee_id', N'employee_address', N'employee_division' )) = 3)
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Your statement will never be true, because table name cannot be one of the these AND at the same time be another of them. In such scenario you can use OR instead of AND, but this will check does at least one of these tables exists. You must either combine 12 EXISTS statements with the names of the tables with AND conditions, or select the count of rows where table name is in list, i.e.:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employee_id')
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_address'
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_division' )
or
IF ((SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME in ('employee_id', N'employee_address', N'employee_division' )) = 3)
add a comment |
up vote
0
down vote
Your statement will never be true, because table name cannot be one of the these AND at the same time be another of them. In such scenario you can use OR instead of AND, but this will check does at least one of these tables exists. You must either combine 12 EXISTS statements with the names of the tables with AND conditions, or select the count of rows where table name is in list, i.e.:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employee_id')
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_address'
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_division' )
or
IF ((SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME in ('employee_id', N'employee_address', N'employee_division' )) = 3)
add a comment |
up vote
0
down vote
up vote
0
down vote
Your statement will never be true, because table name cannot be one of the these AND at the same time be another of them. In such scenario you can use OR instead of AND, but this will check does at least one of these tables exists. You must either combine 12 EXISTS statements with the names of the tables with AND conditions, or select the count of rows where table name is in list, i.e.:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employee_id')
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_address'
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_division' )
or
IF ((SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME in ('employee_id', N'employee_address', N'employee_division' )) = 3)
Your statement will never be true, because table name cannot be one of the these AND at the same time be another of them. In such scenario you can use OR instead of AND, but this will check does at least one of these tables exists. You must either combine 12 EXISTS statements with the names of the tables with AND conditions, or select the count of rows where table name is in list, i.e.:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employee_id')
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_address'
and EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'employee_division' )
or
IF ((SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME in ('employee_id', N'employee_address', N'employee_division' )) = 3)
answered Nov 8 at 18:08
Andrey Nikolov
1,27629
1,27629
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211729%2fif-exists-many-tables%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown