powerdesigner中運用vbscript批量生成觸發器指令碼
pd中設計工作中經常有些工作需要批量執行修改,採用其自帶的指令碼語言是個不錯的選則,下面這段指令碼根據表結構的查詢需要生成oracle的觸發器的列,對其生成相應的觸發期指令碼,可以直接執行
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
''ceaate by runnerrunning
' get the current active model
Dim mdl ' the current model
Set mdl = ActiveModel
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim aaa
Set aaa = fso.OpenTextFile ("c://aaaa1.TXT", 2, True)'ceaate by runnerrunning
If aaa is Nothing then
output "errors file"
return
end if
If (mdl Is Nothing) Then
MsgBox "There is no Active Model"
Else
ListObjects(mdl)
aaa.close
End If
'-----------------------------------------------------------------------------
' Sub procedure to scan current package and print information on objects from current package
' and call again the same sub procedure on all children pacakge
' of the current package
'-----------------------------------------------------------------------------
Private Sub ListObjects(fldr) '列出所有的物件
'output "Scanning " & fldr.code
Dim obj ' running object
For Each obj In fldr.children
' Calling sub procedure to print out information on the object
'DescribeObject obj
TableSetComment obj'ceaate by runnerrunning
Next
//本人原創[email protected]轉載請保留本資訊
//http://blog.csdn.net/runnerrunning
//大家看了別忘了點右邊的廣告阿支援一下[email protected]阿
' go into the sub-packages
Dim f ' running folder
For Each f In fldr.Packages '遞迴呼叫列出所有的物件
'calling sub procedure to scan children package
ListObjects f
Next
End Sub
'ceaate by runnerrunning
'-----------------------------------------------------------------------------
' Sub procedure to print information on current object in output
'-----------------------------------------------------------------------------
Private Sub DescribeObject(CurrentObject)
if not CurrentObject.Iskindof(cls_NamedObject) then exit sub
'output "Found "+CurrentObject.ClassName+" """+CurrentObject.Name+""", Created by "+CurrentObject.Creator+" On "+Cstr(CurrentObject.CreationDate)
End Sub
'ceaate by runnerrunning
Private Sub TableSetComment(CurrentObject)
if not CurrentObject.Iskindof(cls_Table) then exit sub
'output "Found "+CurrentObject.ClassName+" """+CurrentObject.Name+""", Created by "+CurrentObject.Creator+" On "+Cstr(CurrentObject.CreationDate)
if not CurrentObject.isShortcut then
Dim col ' running column
for each col in CurrentObject.columns
if UCase(col.code)="MDF_TM" THEN
'output CurrentObject.NAME
'OUTPUT RIGHT(CurrentObject.CODE,LEN(CurrentObject.CODE) - 1)
'OUTPUT
'OUTPUT "--表"&CurrentObject.NAME&" MDF_TM BEFORE UPDATE 觸發器"
'OUTPUT "--TR_MDF_"&CurrentObject.CODE&"_1"
'OUTPUT "DROP TRIGGER TR_MDF_"&CurrentObject.CODE&"_1"
'OUTPUT "/"
'OUTPUT "-- BEFORE UPDATE TRIGGER TR_MDF_"&CurrentObject.CODE&"_1 FOR TABLE "&CurrentObject.CODE
'OUTPUT "CREATE TRIGGER TR_MDF_"&CurrentObject.CODE&"_1 BEFORE UPDATE"
'OUTPUT "ON "&CurrentObject.CODE&" FOR EACH ROW"
'OUTPUT "BEGIN"
'OUTPUT " :NEW.MDF_TM := SYSDATE;"
'OUTPUT "END;"
'OUTPUT "/"
aaa.WriteLine("")
aaa.WriteLine( "--表"&CurrentObject.NAME&" MDF_TM BEFORE UPDATE 觸發器")
aaa.WriteLine( "--TR_MDF_"&CurrentObject.CODE&"_1")
aaa.WriteLine( "DROP TRIGGER TR_MDF_"&CurrentObject.CODE&"_1")
aaa.WriteLine( "/")
aaa.WriteLine( "-- BEFORE UPDATE TRIGGER TR_MDF_"&CurrentObject.CODE&"_1 FOR TABLE "&CurrentObject.CODE )
aaa.WriteLine( "CREATE TRIGGER TR_MDF_"&CurrentObject.CODE&"_1 BEFORE UPDATE")
aaa.WriteLine( "ON "&CurrentObject.CODE&" FOR EACH ROW")
aaa.WriteLine( "BEGIN")
aaa.WriteLine( " :NEW.MDF_TM := SYSDATE;")
aaa.WriteLine( "END;")
aaa.WriteLine( "/")
END IF
next
end if
End Sub
//本人原創
//http://blog.csdn.net/runnerrunning
//大家看了別忘了點右邊的廣告阿支援一下[email protected]阿
相關推薦
powerdesigner中運用vbscript批量生成觸發器指令碼
pd中設計工作中經常有些工作需要批量執行修改,採用其自帶的指令碼語言是個不錯的選則,下面這段指令碼根據表結構的查詢需要生成oracle的觸發器的列,對其生成相應的觸發期指令碼,可以直接執行 Option ExplicitValidationMode = TrueInterac
PowerDesigner中使用vbscript訪問物件進行批量操作
Power Designer是資料建模中一個比較常用的工具,比較擅長大規模的E-R模型的設計。對於一些批量操作,可以通過vbscript指令碼進行。用法:開啟物理模型,點選選單“Tools->Execute Commands -> Edit/Run Script...",或者快捷鍵(Ctr
openvpn 批量生成使用者指令碼
#/bin/bash for user in "[email protected]" do echo "新增使用者:$user" if [ -d "/etc/openvpn/client/$user" ] then rm -rf /etc/openvpn/client/$user rm -rf
PowerDesigner中name與comment互相轉換指令碼
PowerDesigner中批量根據物件的name生成comment的指令碼執行方法:Open PDM -- Tools -- Execute Commands -- Run ScriptVb script程式碼 Option Explicit Validatio
excel中批量生成圖表的指令碼
經常要根據一堆資料生成各種bug曲線的報表,所以就抽時間完成了這個指令碼,有需求的可以拿去自行修改Function getcolname(ByVal intcol As Long) intcol = intcol - 1 getcolname = IIf(i
powerDesigner將name信息生成到備註中,導出語句有備註信息
sql 情況 blank idt comm 說明 -1 建表 twitter name註釋信息 在創建pdm時由於需要在name列填寫的是以後要在表中創建的註釋信息,comment中則寫的說明信息字數比較多。默認情況下在生成建表sql時不能將name生成註釋信息,進行如下設
中瑯條碼打印軟件中如何批量生成條碼
過程 對象管理 修改 繪制 文件 生成二維碼 下一步 符號 打印機 在使用中瑯領跑條碼打印軟件制作商品標簽過程中,經常需要大批量的根據我們的條碼數據,批量生成條形碼。一般來說這些數據是根據中國物品編碼中心下發的廠商識別代碼,加上商品標簽申請單位商品的一些信息數字組合而成,為
jmeter批量生成token時,怎麼樣把得到的token放在本地文字中?
需求:100個使用者登陸,要拿到100個token,這裡怎麼辦? 1, 2,100個併發,開始執行 3,指令碼如下: import org.json.*; import java.util.Arrays; import or
Java基礎-----從Excel中獲取資料生成shell指令碼
前言 java讀取Excel的驅動包: 連結:https://pan.baidu.com/s/1ejCR9sS2OUmttFYpQnJkKQ 提取碼:58rm 實現1: 從Excel中讀取表名,由於每個欄位會對應一個表名,故讀取的某列會有若干個連續的表名出現,所以用set集合
Python指令碼批量生成SQL語句
通過Python指令碼批量生成插入資料的SQL語句 原始SQL語句: INSERT INTO system_user (id, login_name, name, password, salt, code, createtime, email, main_org, positio
PowerDesign16.6支援Mysql的生成sql指令碼中包含Collate資訊
當前powerDesign版本:16.6 列上指定:Collation = utf8_general_ci 但是SQL指令碼中,列欄位沒有顯示Collect ------------------------------------------------------------- 工具欄-》
PowerDesigner中SQL檔案、資料庫表反向生成PDM
1 反向生成PDM 1) 建立一個空的PDM模型(選擇對應的DBMS): 2) &
SQL Server中分離附加資料及生成SQL指令碼
一:分離 1.首先開啟SQL Server 2.選中要分離的使用者資料庫(此處以SchoolDB)做為示例 3.右鍵單擊(任務-----分離) 4.選中"刪除連線","更新統計資訊",然後點選確定,分離成功之後資料庫就
在powerdesigner中執行SQL.通過SQL生成模型圖
方法: 在powerdesigner中.選擇file----reverse engine--->database--->選擇相應的資料庫版本,再把SQL匯入執行即可. 轉自:http://hbin8668.blog.163.com/blog/static/178844311201210
PowerDesigner利用oracle11gR2中的表逆向生成物理模型
今天要做多表查詢,奈何資料庫中就給了我一些表,什麼關係也沒顯現,於是想到老師以前提到的prowerdesigner的逆向工程。於是網上搜資料,本來看網上資料覺得挺快的,不到10步就搞定,結果個個都是大
PL/SQL 批量生成匯出Oracle方法、儲存方法的指令碼
1,首先開啟PL/SQL 工具,點選“Tools”-“Export User Objects”選單,開啟“選擇”對話方塊。 2,在“選擇”對話方塊中,在“User”區域,選擇當前“使用者” 3,選擇使用者(本例為LXJ),在選擇相關方法,然後點選“選擇
批量生成python自動化測試指令碼
先前有家供應商與我們合作開發自動化工程,採用的py unittest作為指令碼執行框架。我發現他們出的指令碼都是挨個手寫的,格式上也是參差不齊。所以有了根據用例表批量生成指令碼的一段小程式碼 供應商提供的測試指令碼 貼一個經刪減修飾後的指令碼程式碼舉例(因原指令碼很難看,我有程式碼整潔強迫症
自動批量生成AWR報告的指令碼
這個指令碼可以批量生成多個AWR指令碼,只要指定資料庫名(RAC環境應該是例項名)和時間段。如 C:/TEMP>perl dba_oracle_awr.pl --instance O02PAW1A --from 201103020700 --to 20110302180
利用python指令碼批量生成測試資料並插入資料庫
測試工作中有時候需要做一些假的測試資料,有些資料很多,上千條,手工做的話能累到你懷疑人生!這時候就該想到可以利用python指令碼來實現啦方法一:先寫入txt 然後用sql迴圈執行1.首先python連結資料庫有第三方的庫首先你要安裝pymysql(連結mysql用的),安裝
excel 中批量生成mysql的腳本
concat 方法 成了 系統 列數 大數據 a10 一個 val 一、假設你的表格有A、B、C三列數據,希望導入到你的數據庫中表格table,對應的字段分別是col1、col2、col3 二、在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下: 1