If exists many tables









up vote
0
down vote

favorite
1












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?










share|improve this question

























    up vote
    0
    down vote

    favorite
    1












    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?










    share|improve this question























      up vote
      0
      down vote

      favorite
      1









      up vote
      0
      down vote

      favorite
      1






      1





      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?










      share|improve this question













      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 8 at 16:11









      MChalut

      153




      153






















          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)





          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            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

























            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)





            share|improve this answer
























              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)





              share|improve this answer






















                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)





                share|improve this answer












                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)






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 8 at 18:08









                Andrey Nikolov

                1,27629




                1,27629



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                    Edmonton

                    Crossroads (UK TV series)