SQL如何获取表结构

网友投稿 339 2023-12-30

SQL如何获取表结构

小编给大家分享一下SQL如何获取表结构,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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, NIsUserTable) = 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

以上是“SQL如何获取表结构”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vueui创建项目?
下一篇:如何获取DMETL数据交换信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~