国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

SQL獲取表結構的show_table.vbs (腳本之家分享)

2020-06-26 18:23:54
字體:
來源:轉載
供稿:網友
SQL獲取表結構的show_table.vbs,用vbs實現查看sql數據庫的表結構的代碼。需要傳入用戶名密碼與數據庫名稱,具體的看程序幫助。
 
復制代碼代碼如下:

set arg=wscript.arguments 
If arg.count = 0 Then 
show_help() 
wsh.quit 
End If 
Server = arg(0) 
User = arg(1) 
pass = arg(2) 
database_name = arg(3) 
table_name = arg(4) 
set Conn = CreateObject("ADODB.Connection") 
Conn.Open "Driver={SQL Server};Server=" & Server & ";UID=" & User & ";PWD=" & Pass & ";Database=" & database_name 
Set rs = conn.execute("select count(*) as n from " & database_name & ".dbo.sysobjects where id = object_id(N'[dbo].[" & table_name & "]')") 
if rs("n") <=0 Then 
wsh.echo "table have???" 
wsh.quit 
End If 
sql1="use " &database_name & ";select count(column_name) from information_schema.columns where table_name='" & table_name & "'" 
set rs1=conn.execute(sql1) 
num = rs1(0) 
rs1.close 
Set rs1 = Nothing 
i = 1 
sql2="use " &database_name & ";select column_name,data_type,IS_NULLABLE,character_octet_length,collation_name,domain_name from information_schema.columns where table_name='" & table_name & "' order by ordinal_position" 
'wsh.echo sql2 

set rs2=conn.execute (sql2) 
wsh.echo "if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[" & table_name & "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)" 
wsh.echo "drop table [dbo].[" & table_name & "]" 
wsh.echo "GO" 
wsh.echo "CREATE TABLE [dbo].[" & table_name & "] (" 
do while not rs2.eof 
col_dn = rs2("domain_name") 
col_name = rs2("column_name") 
col_type = rs2("data_type") 
col_len = rs2("character_octet_length") 
col_an = rs2("collation_name") 
col_is = rs2("IS_NULLABLE") 
sql = chr(9)&"[" & col_name & "] " 
If col_dn = "id" Then 
sql = sql & col_dn &" " 
Else 

sql = sql & "[" & col_type & "] " 
If col_len <> "" Then 
sql = sql & "(" & col_len & ") " 
End If 
If col_an <> "" Then 
sql = sql & "COLLATE " & col_an 
End If 
End If 


If col_is = "No" Then 
sql = sql & " NOT NULL " 
Else 
sql = sql & " NULL " 
End If 
If i = num Then 
sql = sql & Chr(13)&Chr(10)&") ON [PRIMARY]" 
Else 
sql = sql & "," 
End If 
i = i +1 
wsh.echo sql 
rs2.movenext 
loop 
wsh.echo "GO" 
rs2.close 
Set rs2 = Nothing 
conn.close 
Set conn=Nothing 
Sub show_help() 
wsh.echo "code by N37P47ch " 
wsh.echo "cscript show_table.vbs ip user pass database table" 
End Sub 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南陵县| 抚州市| 江川县| 丹寨县| 通州市| 岢岚县| 黑河市| 乐平市| 隆化县| 东阿县| 图木舒克市| 宁夏| 绥宁县| 瑞丽市| 邯郸县| 嘉义县| 塔城市| 尼勒克县| 临洮县| 文安县| 普洱| 桐城市| 中方县| 彰化县| 清流县| 通江县| 天祝| 砚山县| 米易县| 常德市| 隆昌县| 巫溪县| 横峰县| 四平市| 武强县| 锦州市| 彭州市| 建始县| 兴国县| 通许县| 廉江市|