淺陋見解,僅供參考。拋磚引玉,多加指教!
          石正
          一個計算機技術愛好者! 雖然我擁有了系統分析師的證書,但我仍然是一個計算機技術愛好者!
          posts - 119,comments - 73,trackbacks - 0
          系統表的應用

          系統表用的不多,寫幾個常用的系統表
          各個數據庫中的系統表:
          1.SysObject:
          ? 存放數據庫中的各個對象!
          ? 最重字段
          ?? 1.1 Name,Id,Crdate,Xtype (U :用戶表,V:視圖,Tr:觸發器,P:存儲過程,S,系統表)

          ?? 1.2 常用函數 Object_ID('對象名'),Object_Name?
          ?? 此外我們如果想生成1,2,3,4,5這樣的等差數列,可以這樣做
          ?? Select Identity(int,1,1) As Id Into # From SysObjects,SysColumns??
          2.SysColumns
          ? 存放各列的信息
          ? 最重字段
          ?? 2.1 Name,Id,Colid--字段在表中存放的順序
          ?? 設一個表中字段有很多,想列出某表除某字段外的所有字段,可以這樣寫
          ?? Declare @Fields Varchar(5000)
          ?? Select @Fields=@Fields+Name
          ?? From SysColumns
          ?? Where Id=Object_ID('Test') and Name Not In ('字段1','字段2')
          ?? 又如如何用列序號選擇特定列
          ?? Create Function F_ColumnOrder(@TableName Varchar(10),@Colid Int)
          ?? Returns Table
          ?? As
          ?? Return
          ?? Select Name From SysColumns
          ?? Where ID=Object_ID(@TableName) And Colid=@Colid
          --Try
          Select * From Dbo.F_ColumnOrder('Users',2)
          ??
          3.SysFiles
          ? 如果我們想知道SQL的數據文件存放目錄的話,可以用
          ? Select FileName From SysFiles
          4.SysComments
          ? 保存視圖或存儲過程的語句!
          5.Sysforeignkeys
          ? fkeyid:外鍵表對象ID,rKeyid:主鍵表對象ID
          有時我們想把數據庫中的所有表都去掉,但是有約束的存在,有些表必須在主表前刪除,否則就會報錯,

          這種情況下我們就通過該表來實現
          **********************************************************
          Master表中的系統表
          SysDataBases
          ? 重要字段
          ??? 1.1 Name,Dbid,Crdate
          ????? 常用函數 DB_ID('數據庫名')
          sysaltfiles
          ??? 保存各個數據庫的MDF文件的物理地址
          SysProcesses
          ??? 保存進程信息
          ??? Kill? spid 殺掉某進程

          5.注意sp_MsForEachTable函數
          ? 刪除某數據庫中表
          ?? Exec Sp_MsForEachTable 'Truncate Table ?'
          ?? 注意:有約束的不能刪除,會出錯的
          6.如果想改系統表怎么辦?
          ? 2種方法
          ??? 1.通過查詢分析器改
          ??? 用如下語句:
          ???? Exec Sp_Configure 'allow updates',1--允計修改
          ???? Reconfigure with override
          ????
          ???? Exec Sp_Configure 'allow updates',0--不允計修改
          ???? Reconfigure with override????
          ??? 2.通過企業管理器改
          ???? 在SQL實例上右鍵-屬性-允計修改系統目錄直接進行修改

          posted on 2007-03-21 10:12 石正 閱讀(729) 評論(0)  編輯  收藏

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


          網站導航:
           
          淺陋見解,僅供參考。拋磚引玉,多加指教!
          主站蜘蛛池模板: 大方县| 泸水县| 琼结县| 于都县| 房产| 吴江市| 西宁市| 万盛区| 岳池县| 临夏县| 五常市| 沧州市| 漠河县| 汝州市| 岱山县| 汾西县| 铁岭县| 河北省| 棋牌| 沙河市| 哈巴河县| 新巴尔虎左旗| 互助| 县级市| 江津市| 德化县| 民乐县| 通化县| 海晏县| 营口市| 乌什县| 南平市| 噶尔县| 肥城市| 比如县| 青河县| 鞍山市| 英德市| 乌恰县| 正镶白旗| 宁津县|