PowerDesigner生成sql语句问题
最近在项目中遇到的问题,用PowerDesigner设计好模型后,生成sql,在Oracle数据库中成功执行后,查询新建好的表却提示ORA-00942: 表或视图不存在
。
在PLSQL Developer中查看生成的好的表,发现确实是存在,但是表名确不是全部大写。使用PLSQL Developer可视化建表后,表名全部大写,由此可以初步判断是大小写问题。
因为可以肯定的是PL/SQL Language是不区分大小写的,除非引用了用户定义的标识符[使用了双引号],所以问题只能是出在了生成的sql上,具体说明请看官网文档https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/fundamentals.htm#LNPLS00201
接下来需要验证下我们的判断是否正确,打开生成好的sql文件,会发现表名等标识符确实加了双引号。
解决这个问题可以通过两种方法:
- 让PowerDesigner在生成sql语句时对用户标识符不加双引号。
- 让PowerDesigner在生成sql语句时全部大写。
具体设置如下:
-
不加双引号[需要打开模型图]:Database->Edit current DBMS->General->Script->Sql->Format->CaseSensitivityUsingQuote 选择No,不在使用双引号。
-
全部大写:Database->Generate Database->Format->Character case 选择Upper,全部语句大写。
作者:Crazy_Joker
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。