检查数据库中是否存在表 - PL SQL
我是 PL SQL 新手,我需要检查服务器上是否存在表并删除它。
提前致谢, 戈兰
I'm new in PL SQL, and I need to check if table exist on server and drop it.
Thanks in advance,
Goran
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以查询表名
you can query the tablenames
这就是信息模式的真正威力所在。
一个简单的查询将为您指明正确的方向,
然后可以在 plpg 函数中使用
该函数,
这应该足以让您继续前进。
面向对象程序
看来我误读了原来的海报问题。我已经回答了 PostgreSQL。
彼得.
This is where the true power of the information schema comes in.
A simple query will point you in the right direction
This can then be used in plpg function
Use the function
That should be enough to get you going.
OOPS
Seems I misread the original posters question. I've answered for PostgreSQL.
Peter.
最有效的方法是,不要。只需放下桌子即可。如果该表尚不存在,则会引发异常。
在删除表之前运行查询只是浪费时间去做 Oracle 会自动为您做的事情。
您可以根据需要处理异常,例如:
The most efficient method is, don't. Just drop the table. If the table didn't exist already, it'll raise an exception.
Running a query just before dropping the table is just wasting time doing what Oracle will do automatically for you.
You can handle the exception however you want, e.g.:
我在使用上述解决方案时遇到了一些麻烦,因为我的数据库具有特殊的树结构。这应该给出架构中的每个表:
I had some troubles with the solutions above, as my DB has a peculiar tree structure. This should give every table in your schema: