快速业务通道

SQL获取表结构的show_table.vbs (冰点极限NP)

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
复制代码 代码如下:

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号