'*****************************************************************************
dim
model 'current model
set model = ActiveModel

If (model Is Nothing) Then
  MsgBox "There is no current
Model"
ElseIf Not model.IsKindOf(PdPDM.cls_Model) Then
  MsgBox "The
current model is not an Physical Data model."
Else
  ProcessTables
model
End
If

'*****************************************************************************
'函数:ProcessTables
'功能:递归遍历所有的表
'*****************************************************************************
sub
ProcessTables(folder)
  '处理模型中的表
  dim table
  for each table in
folder.tables
     if not table.IsShortCut then
        ProcessTable
table
     end if
  next
 
  '对子目录进行递归
  dim subFolder
  for
each subFolder in folder.Packages
     ProcessTables subFolder
  next

end
sub

'*****************************************************************************
'函数:ProcessTable
'功能:遍历指定table的所有字段,如果该字段是主键但不是外键,则设置为Identity
'*****************************************************************************
sub
ProcessTable(table)
  dim col
  for each col in
table.Columns
     '对于是主键且不是外键的字段设置为Identity(自增长类型)
     if col.Primary
and not col.ForeignKey and instr(lcase(col.datatype),"integer") > 0 then
        col.Identity = true
     end if
 
next
end sub

保存为文件A_SetIdentity.vbs放到安装目录下的vb
scripts文件夹

powerdesigner的pdm中ctrl+shift+x 打开运行脚本对话框
菜单栏中选择打开文件 找到A_Setidentity.vbs执行

70EF4733-6445-4BAC-9F92-AD8A086A5398|From:http://www.cnblogs.com/xuejianxiyang/p/8926694.html

PowerDesigner设置所有int主键自增脚本的更多相关文章

  1. 使用powerdesigner建模时设置主键自增的问题

    研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...

  2. oracle 主键自增 设置----杜恩德

    <div id="topicList"> <div class="forFlow"> <div class = "pos ...

  3. 关于oracle设置主键自增的问题

    关于orcale设置主键自增的问题 关于主键Oracle中并没有提供一个直接的语句设置,对于这个oralce一般都是用序列和触发器来实现 一下又两种方法来实现 一 ,不使用触发器 创建序列: crea ...

  4. 在Oracle中设置主键自增

    转自:https://www.2cto.com/database/201705/636725.html 数据库设置主键自增">oracle数据库设置主键自增: --创建表 create ...

  5. 使用navicat操作PostPreSql创建表并设置主键自增和触发器

    使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...

  6. erlang mnesia数据库设置主键自增

    Mnesia是erlang/otp自带的分布式数据库管理系统.mnesia配合erlang的实现近乎理想,但在实际使用当中差强人意,总会有一些不足.mnesia数据表没有主键自增的功能,但在mnesi ...

  7. EF 主键自增、级联删除

    一.主键自增 1.设置数据库中,主键自增 2.设置VS中Model1.edmx

  8. postgresql + mybatis insert主键自增方法

    postgresql + mybatis插入记录时设置自增主键方法: 一.数据库设置主键自增 1.数据库中id字段选择serial4类型后,会在默认值中生成 nextval('app_id_seq': ...

  9. oracle主键自增

    oracle主键自增 1建立数据表 create table Test_Increase(            userid number(10) primary key,  /*主键,自动增加*/ ...

随机推荐

  1. python学习,day2:字典

    字典的增删改查 # coding=utf-8 # Author: RyAn Bi info = { 'stu1101':'Tenglan Wu', 'stu1102':'longze Luola', ...

  2. 标准结构篇:4)EMC电磁兼容

    本章目的:电磁兼容EMC概念,及预防控制手段. 1.前言:电磁兼容EMC概述 电磁兼容是一门新兴的综合性学科.电磁兼容学科主要研究的是如何使在同一电磁环境下工作的各种电气电子设备和元器件都能正常工作, ...

  3. CDQZ Day3

    模拟题 day3出题人: liu_runda题目名称 摆渡 摆车 背包源程序文件名 boat.cpp ju.cpp pack.cpp输入文件名 boat.in ju.in pack.in输出文件名 b ...

  4. P3648 [APIO2014]序列分割

    传送门 首先容易证明,得分和切的顺序没有关系 所以直接默认先切左边再切右边就好了 然后显然可以 $dp$ 一开始想的是设 $f[i][j]$ 表示切了 $i$ 次,此次把 $j$ 和 $j+1$ 分开 ...

  5. MySQL授权命令grant的详细使用方法

    2019-01-07 转自 https://www.cnblogs.com/crxis/p/7044582.html 本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的 ...

  6. Mac os x的发展

    OS X(前称Mac OS X)是苹果公司为麦金塔电脑开发的专属操作系统.Mac OS X于1998年首次推出,并从2002年起随麦金塔电脑发售.它是一套Unix基础的操作系统,包含两个主要的部分:核 ...

  7. es put mapping

    fd dg public Map<String, Map<String, String>> javaBeanToMapping(Object instance, List< ...

  8. overload_protect_config.txt

    overload_protection_switch=Y reject_uri_list= reject_request_percent=50 period_time=10 period_max_fa ...

  9. layui 时间插件laydate ,取消回调

    背景:转型新公司不再是做前端展示H5之类的东西,主要业务是后台数据读取和插件搭建前端页面,接触的第一个老项目是layui制作的,由于业务需求,需要用到时间插件以下为时间插件的一些用法--------- ...

  10. 解决执行maven项目出现 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. error

    最近再弄maven项目,运行起来没有问题,但是Console控制台会报错,比如说如下的问题异常提示: 由此我们可以看出,报出错误的地方主要是slf4j的jar包,而故障码中“Failed to loa ...