Can someone tell me if there is any difference between
DROP IF EXISTS [TABLE_NAME]
DROP [TABLE_NAME]
I am asking this because I am using JDBC template in my MVC web application. If I use DROP [TABLE_NAME] the error said that Table exist. And if I use DROP IF EXISTS [TABLE_NAME] it says bad SQL grammar. Can some one help?
Standard SQL syntax is
IF EXISTSis not standard; different platforms might support it with different syntax, or not support it at all. In PostgreSQL, the syntax isThe first one will throw an error if the table doesn’t exist, or if other database objects depend on it. Most often, the other database objects will be foreign key references, but there may be others, too. (Views, for example.) The second will not throw an error if the table doesn’t exist, but it will still throw an error if other database objects depend on it.
To drop a table, and all the other objects that depend on it, use one of these.
Use CASCADE with great care.