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

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


          網站導航:
           
          淺陋見解,僅供參考。拋磚引玉,多加指教!
          主站蜘蛛池模板: 宜黄县| 民丰县| 锦州市| 宣恩县| 安图县| 福清市| 蒲江县| 陵水| 沁水县| 修武县| 九龙坡区| 南木林县| 习水县| 武汉市| 扎赉特旗| 林口县| 涿鹿县| 南木林县| 英山县| 双鸭山市| 都匀市| 陈巴尔虎旗| 鲜城| 仙游县| 嘉义县| 旌德县| 安塞县| 蛟河市| 禹城市| 铜川市| 社会| 若尔盖县| 甘孜| 宾阳县| 罗源县| 德江县| 赫章县| 茶陵县| 隆回县| 溆浦县| 永顺县|