以java平臺為基礎,專注項目管理、關注電子商務
          攬住母親的肩頭,敬父親一杯酒,對愛的女人說“我愛你”,和另外一個男人打架,不要打女人,有一個自己的孩子,年輕的時候去漂泊,有自己的一份事業.
          1. 只復制一個表結構,不復制數據

          ????? ??? ?select?top?0?*?into?[t1]?from?[t2]
          ?????? ??? 或者? select * into?a from b where 1=2;

          ?????2.獲取數據庫中某個對象的創建腳本

          ????????if?exists(select?1?from?sysobjects?where?id=object_id('fgetscript')?and?objectproperty(id,'IsInlineFunction')=0)
          ?
          drop?function?fgetscript
          go

          create?function?fgetscript(
          ?
          @servername?varchar(50)?????--服務器名
          ?,@userid?varchar(50)='sa'????--用戶名,如果為nt驗證方式,則為空
          ?,@password?varchar(50)=''????--密碼
          ?,@databasename?varchar(50)????--數據庫名稱
          ?,@objectname?varchar(250)????--對象名

          )?
          returns?varchar(8000)
          as
          begin
          ?
          declare?@re?varchar(8000)????????--返回腳本
          ?declare?@srvid?int,@dbsid?int???????--定義服務器、數據庫集id
          ?declare?@dbid?int,@tbid?int????????--數據庫、表id
          ?declare?@err?int,@src?varchar(255),?@desc?varchar(255)?--錯誤處理變量

          --創建sqldmo對象
          ?exec?@err=sp_oacreate?'sqldmo.sqlserver',@srvid?output
          ?
          if?@err<>0?goto?lberr

          --連接服務器
          ?if?isnull(@userid,'')=''?--如果是?Nt驗證方式
          ?begin
          ??
          exec?@err=sp_oasetproperty?@srvid,'loginsecure',1
          ??
          if?@err<>0?goto?lberr

          ??
          exec?@err=sp_oamethod?@srvid,'connect',null,@servername
          ?
          end
          ?
          else
          ??
          exec?@err=sp_oamethod?@srvid,'connect',null,@servername,@userid,@password

          ?
          if?@err<>0?goto?lberr

          --獲取數據庫集
          ?exec?@err=sp_oagetproperty?@srvid,'databases',@dbsid?output
          ?
          if?@err<>0?goto?lberr

          --獲取要取得腳本的數據庫id
          ?exec?@err=sp_oamethod?@dbsid,'item',@dbid?output,@databasename
          ?
          if?@err<>0?goto?lberr

          --獲取要取得腳本的對象id
          ?exec?@err=sp_oamethod?@dbid,'getobjectbyname',@tbid?output,@objectname
          ?
          if?@err<>0?goto?lberr

          --取得腳本
          ?exec?@err=sp_oamethod?@tbid,'script',@re?output
          ?
          if?@err<>0?goto?lberr

          ?
          --print?@re
          ?return(@re)

          lberr:
          ?
          exec?sp_oageterrorinfo?NULL,?@src?out,?@desc?out?
          ?
          declare?@errb?varbinary(4)
          ?
          set?@errb=cast(@err?as?varbinary(4))
          ?
          exec?master..xp_varbintohexstr?@errb,@re?out
          ?
          set?@re='錯誤號:?'+@re
          ???
          +char(13)+'錯誤源:?'+@src
          ???
          +char(13)+'錯誤描述:?'+@desc
          ?
          return(@re)
          end
          go

          先執行上述腳本

          print?dbo.fgetscript('服務器名','用戶名','密碼','數據庫名','表名或其它對象名')
          然后按上語句執行即可。。



          3.? 獲取所有數據庫里所有對象的腳本

          ??declare?@name?varchar(250)
          declare?#aa?cursor?for
          ?
          select?name?from?sysobjects?where?xtype?not?in('S','PK','D','X','L')
          open?#aa
          fetch?next?from?#aa?into?@name
          while?@@fetch_status=0
          begin
          ?
          print?dbo.fgetscript('onlytiancai','sa','sa','database',@name)
          ?
          fetch?next?from?#aa?into?@name
          end
          close?#aa
          deallocate?#aa


          4.怎樣獲取一個表中所有的字段信息

          Create?view?fielddesc????
          as
          select?o.name?as?table_name,c.name?as?field_name,t.name?as?type,c.length?as?

          length,c.isnullable?
          as?isnullable,convert(varchar(30),p.value)?as?desp?
          from?syscolumns?c??
          join?systypes?t?on?c.xtype?=?t.xusertype
          join?sysobjects?o?on?o.id=c.id?
          left?join????sysproperties?p?on?p.smallid=c.colid?and?p.id=o.id????
          where?o.xtype='U'
          先執行上述SQL語句

          Select?*?from?fielddesc?where?table_name?=?'你的表名'

          然后按上述的方法操作即可。。



          5。當前數據庫所有表的字段信息

          SELECT?
          ?(
          case?when?a.colorder=1?then?d.name?else?''?end)?N'表名',
          ?a.colorder?N
          '字段序號',
          ?a.name?N
          '字段名',
          ?(
          case?when?COLUMNPROPERTY(?a.id,a.name,'IsIdentity')=1?then?''else?''?end)?N'標識',
          ?(
          case?when?(SELECT?count(*)
          ?
          FROM?sysobjects
          ?
          WHERE?(name?in
          ???????????(
          SELECT?name
          ??????????
          FROM?sysindexes
          ??????????
          WHERE?(id?=?a.id)?AND?(indid?in
          ????????????????????(
          SELECT?indid
          ???????????????????
          FROM?sysindexkeys
          ???????????????????
          WHERE?(id?=?a.id)?AND?(colid?in
          ?????????????????????????????(
          SELECT?colid
          ????????????????????????????
          FROM?syscolumns
          ????????????????????????????
          WHERE?(id?=?a.id)?AND?(name?=?a.name)))))))?AND
          ????????(xtype?
          =?'PK'))>0?then?''?else?''?end)?N'主鍵',
          ?b.name?N
          '類型',
          ?a.length?N
          '占用字節數',
          ?
          COLUMNPROPERTY(a.id,a.name,'PRECISION')?as?N'長度',
          ?
          isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0)?as?N'小數位數',
          ?(
          case?when?a.isnullable=1?then?''else?''?end)?N'允許空',
          ?
          isnull(e.text,'')?N'默認值',
          ?
          isnull(g.[value],'')?AS?N'字段說明'
          --into?##tx

          FROM??syscolumns??a?left?join?systypes?b?
          on??a.xtype=b.xusertype
          inner?join?sysobjects?d?
          on?a.id=d.id??and??d.xtype='U'?and??d.name<>'dtproperties'
          left?join?syscomments?e
          on?a.cdefault=e.id
          left?join?sysproperties?g
          on?a.id=g.id?AND?a.colid?=?g.smallid??
          order?by?object_name(a.id),a.colorder

          posted on 2006-03-21 19:17 cssseek 閱讀(292) 評論(0)  編輯  收藏 所屬分類: 電子政務

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          友情鏈接

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 班戈县| 江山市| 新龙县| 田东县| 安多县| 民勤县| 改则县| 石阡县| 沾化县| 巴彦淖尔市| 齐齐哈尔市| 新建县| 开原市| 浪卡子县| 加查县| 滁州市| 娄烦县| 柳江县| 江西省| 托克逊县| 江阴市| 深圳市| 九龙城区| 孝昌县| 晴隆县| 宁都县| 襄樊市| 郁南县| 岐山县| 西和县| 忻州市| 临猗县| 肇州县| 泗阳县| 宜黄县| 芷江| 祥云县| 天门市| 明光市| 哈巴河县| 洪雅县|