淺陋見解,僅供參考。拋磚引玉,多加指教!
          石正
          一個計算機技術愛好者! 雖然我擁有了系統分析師的證書,但我仍然是一個計算機技術愛好者!
          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 石正 閱讀(726) 評論(0)  編輯  收藏

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


          網站導航:
           
          淺陋見解,僅供參考。拋磚引玉,多加指教!
          主站蜘蛛池模板: 德州市| 稷山县| 青阳县| 丽水市| 年辖:市辖区| 定日县| 大宁县| 兰溪市| 罗定市| 定远县| 灵璧县| 绥滨县| 灯塔市| 祁连县| 铜川市| 金川县| 安陆市| 永州市| 龙江县| 大厂| 南城县| 达尔| 双鸭山市| 旬阳县| 闽侯县| 璧山县| 浑源县| 清流县| 西平县| 甘孜| 泽州县| 长岭县| 嘉荫县| 交城县| 泰顺县| 镇江市| 望奎县| 台南县| 马龙县| 万州区| 会昌县|