暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PowerDesigner 创建表格及导出SQL语句

原创 zxd1412 2023-06-07
726

1.新建物理模型。

右键点击workplace,new一个物理模型并指定数据库。

2.创建表格

这里写图片描述

设置字段属性

这里写图片描述

新增字段属性(比如加字段注释)

这里写图片描述

3.导出sql语句及预览

这里写图片描述

这里写图片描述

初次使用会发现orcale的sql语句,带双引号、字母大写,后面有解决方案
也可在Options选项卡里,可以个性化选择和配置sql脚本,如取消外键,去除drop语句等。

4.去除双引号

选择Database->Edit Current DBMS菜单

这里写图片描述

选中General选项卡,依次打开Script->Sql->Fomat->CaseSensitivityUsingQuote

这里写图片描述

5.字母批量大写转换

直接跑脚本,找到Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。

这里写图片描述

转换到大写的VB代码

Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' 当前模型 ' 获取当前模型 Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "没有打开一个模型" ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "当前模型不是一个PDM" Else '调用处理程序 ProcessFolder mdl End If '调用的处理程序 Private sub ProcessFolder(folder) Dim Tab '要处理的表 for each Tab in folder.Tables ' if not Tab.isShortcut then ' Tab.code = tab.name '表名处理,前边添加前缀,字母小写 Tab.name= UCase(Tab.name) Tab.code= UCase(Tab.code) Dim col ' 要处理的列 for each col in Tab.columns '列名称和code全部小写,大写诗UCase col.code= UCase(col.code) col.name= UCase(col.name) next 'end if next ' 处理视图 ' Dim view 'running view ' for each view in folder.Views ' if not view.isShortcut then ' view.code = view.name ' end if ' next ' 递归进入 sub-packages Dim f ' sub folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub

======================华丽的分割线====================
下面的都是有可能用的着的

6.不同数据库之间的转化

案列: orcal—》mysql
做法:Database→Change Current DBMS→选择要转换成的目标数据库
这里写图片描述

结果:
这里写图片描述

然后可以使用notepad++,将字母转换成小写就可以了。因为MySQL是区分大小写的。

7.Orcale 建立自增主键

双击表打开属性窗口→勾选P主键复选框→双击设置为主键的字段(在行的头部双击)或者单击上方的属性图标按钮→在打开的窗口下方(注意不同数据库不一样,sql server是identity复选框)选择sequence,如果没有则单击旁边的新建按钮创建一个sequence。

这里写图片描述

8.导入sql脚本生成相应的数据库表模型图

File→Reverse Engineer→Database…→修改模块名称并选择DBMS

这里写图片描述

Using script files→点击下方图标(Add Files)来添加sql脚本文件→确定

这里写图片描述

同理以上案例对sqlserver2008数据库同样有效。

http://blog.csdn.net/my_nice_life/article/details/528370841.新建物理模型。

右键点击workplace,new一个物理模型并指定数据库。
2.创建表格
这里写图片描述
设置字段属性
这里写图片描述
新增字段属性(比如加字段注释)
这里写图片描述
3.导出sql语句及预览
这里写图片描述
这里写图片描述
初次使用会发现orcale的sql语句,带双引号、字母大写,后面有解决方案
也可在Options选项卡里,可以个性化选择和配置sql脚本,如取消外键,去除drop语句等。
4.去除双引号
选择Database->Edit Current DBMS菜单
这里写图片描述
选中General选项卡,依次打开Script->Sql->Fomat->CaseSensitivityUsingQuote
这里写图片描述
5.字母批量大写转换
直接跑脚本,找到Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。
这里写图片描述
转换到大写的VB代码
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' 当前模型 ' 获取当前模型 Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "没有打开一个模型" ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "当前模型不是一个PDM" Else '调用处理程序 ProcessFolder mdl End If '调用的处理程序 Private sub ProcessFolder(folder) Dim Tab '要处理的表 for each Tab in folder.Tables ' if not Tab.isShortcut then ' Tab.code = tab.name '表名处理,前边添加前缀,字母小写 Tab.name= UCase(Tab.name) Tab.code= UCase(Tab.code) Dim col ' 要处理的列 for each col in Tab.columns '列名称和code全部小写,大写诗UCase col.code= UCase(col.code) col.name= UCase(col.name) next 'end if next ' 处理视图 ' Dim view 'running view ' for each view in folder.Views ' if not view.isShortcut then ' view.code = view.name ' end if ' next ' 递归进入 sub-packages Dim f ' sub folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub
======================华丽的分割线====================
下面的都是有可能用的着的
6.不同数据库之间的转化
案列: orcal—》mysql
做法:Database→Change Current DBMS→选择要转换成的目标数据库
这里写图片描述
结果:
这里写图片描述
然后可以使用notepad++,将字母转换成小写就可以了。因为MySQL是区分大小写的。
7.Orcale 建立自增主键
双击表打开属性窗口→勾选P主键复选框→双击设置为主键的字段(在行的头部双击)或者单击上方的属性图标按钮→在打开的窗口下方(注意不同数据库不一样,sql server是identity复选框)选择sequence,如果没有则单击旁边的新建按钮创建一个sequence。
这里写图片描述
8.导入sql脚本生成相应的数据库表模型图
File→Reverse Engineer→Database…→修改模块名称并选择DBMS
这里写图片描述
Using script files→点击下方图标(Add Files)来添加sql脚本文件→确定
这里写图片描述
同理以上案例对sqlserver2008数据库同样有效。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论