# --------------------------------------------------
# 論理名設定コマンド 出力プログラム
# --------------------------------------------------
# パラメータクラス
# ・ tableName -- テーブル名
# ・ column_name -- カラム名(テーブルの場合は無視される)
# ・ logical_name -- 論理名
# ・ fanc -- 処理 ( 追加:add / 修正:update / 削除:drop )
# ・ is_table -- テーブルフラグ ( True / False )
class ParamData:
def __init__(self, table_name, column_name, logical_name, fanc, is_table):
self.tableName = table_name
self.logicalName = logical_name
self.columnName = column_name
self.fanc = fanc
self.isTable = is_table
# 1.使用するスキーマ名を記述してください
db_schema = "dbo"
# 2.編集して好きなだけ増やしてください
table_info = []
table_info.append(ParamData("t_test01", " ", "テーブルマスタ", "add", True))
table_info.append(ParamData("t_test01", "name", "テーブル名", "add", False))
#table_info.append(ParamData("t_test01", "name", "テーブル名", "update", False)) # 更新 例
#table_info.append(ParamData("t_test01", "name", "テーブル名", "drop", False)) # 削除 例
print("")
for param in table_info:
if(param.isTable):
if(param.fanc == "drop"):
print("-- "+param.tableName+""" の 論理名を削除
EXEC sys.sp_"""+param.fanc+"""extendedproperty @name=N'MS_Description'
, @level0type=N'SCHEMA'
, @level0name=N'"""+db_schema+"""'
, @level1type=N'TABLE'
, @level1name=N'"""+param.tableName+"""'
""")
else:
print("-- "+param.tableName+" に 論理名:"+param.logicalName+""" を設定
EXEC sys.sp_"""+param.fanc+"""extendedproperty @name=N'MS_Description'
, @value=N'"""+param.logicalName+"""'
, @level0type=N'SCHEMA'
, @level0name=N'"""+db_schema+"""'
, @level1type=N'TABLE'
, @level1name=N'"""+param.tableName+"""'
""")
else:
if(param.fanc == "drop"):
print("-- "+param.tableName+"."+param.columnName+""" の 論理名を削除
EXEC sys.sp_"""+param.fanc+"""extendedproperty @name=N'MS_Description'
, @level0type=N'SCHEMA'
, @level0name=N'"""+db_schema+"""'
, @level1type=N'TABLE'
, @level1name=N'"""+param.tableName+"""'
, @level2type=N'COLUMN'
, @level2name=N'"""+param.columnName+"""'
""")
else:
print("-- "+param.tableName+"."+param.columnName+" に 論理名:"+param.logicalName+""" を設定
EXEC sys.sp_"""+param.fanc+"""extendedproperty @name=N'MS_Description'
, @value=N'"""+param.logicalName+"""'
, @level0type=N'SCHEMA'
, @level0name=N'"""+db_schema+"""'
, @level1type=N'TABLE'
, @level1name=N'"""+param.tableName+"""'
, @level2type=N'COLUMN'
, @level2name=N'"""+param.columnName+"""'
""")