生成資料庫預設值指令碼

2022-04-07 08:38:09 字數 1683 閱讀 7510

起因:sql server資料庫的預設值再還原資料庫時,莫名其妙的沒了。沒找到怎麼匯出資料中的預設。索性寫個小程式生成指令碼

**using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.data;

using

system.data.sqlclient;

using

system.io;

using

microsoft.win32;

namespace

createdfsql

);for

(inti=

0;i<

temp.length;i++)

}//system.environment.getfolderpath(system.environment.specialfolder.desktop)

//string desktoppath=system.environment.getfolderpath(system.environment.specialfolder.desktop);

registrykey folders;

folders 

=openregistrypath(registry.currentuser, 

@"\software\microsoft\windows\currentversion\explorer\shell folders");

//windows使用者桌面路徑

string

desktoppath 

=folders.getvalue(

"desktop

").tostring();

string

filename 

=database 

+datetime.now.tostring(

"yyyymmddhhmmss") 

+".txt";

string

filepath 

=desktoppath +"

\\"+filename;if(

!file.exists(filepath)) 

//向生成檔案中提新增sql指令碼   

streamwriter sw 

=new

streamwriter(filepath, 

true

, encoding.getencoding(

"gb2312

"));

for(

inti=0

;i<

ds.tables[

0].rows.count;i++)

sw.close();

console.writeline(

"建立預設指令碼完成請檢視桌面"+

filename +"

,按任意鍵退出");

console.readkey();

}private

static

registrykey openregistrypath(registrykey root, 

string

s)return

root;}}

}

改變資料庫欄位的預設值

大家都知道已經發布的專案,在迭代開發的過程中使用的資料庫是不同的,一般分為生產庫和測試庫,當你發現因為資料庫中的字段預設值造成了程式實際使用中的不合理,那麼我們就需要去改變資料庫欄位的預設值了,如下圖 是我公司的乙個錯誤的例項,在管理員下新建了乙個子賬號,管理員賬號的有效期是2018 06 23,新...

Oracle資料庫增加字段,預設值,備註

新增列 alter table kjgl sxs add jjlxr varchar2 20 jjlxdh varchar2 20 新增備註 comment on column kjgl sxs.jjlxr is 緊急聯絡人 comment on column kjgl sxs.jjlxdh is ...

為什麼資料庫字段需要設定預設值

非嚴格模式下,mysql會容忍許多開發上的疏忽,例如把乙個長度100的字串插入到varcaht中只會截斷多餘的部分而不報錯。嚴格模式對資料的格式 長度 型別等進行校驗,你貼出的建表語句中指定了default,如果此時不指定default,在你認為會啟用預設值的時候會返回 1364錯誤。開發階段最好啟...