PowerDesigner生成sql语句问题

发布时间 2023-12-19 17:30:15作者: Crazy_Joker

最近在项目中遇到的问题,用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,全部语句大写。