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

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

          ?? 1.2 常用函數(shù) Object_ID('對象名'),Object_Name?
          ?? 此外我們?nèi)绻肷?,2,3,4,5這樣的等差數(shù)列,可以這樣做
          ?? Select Identity(int,1,1) As Id Into # From SysObjects,SysColumns??
          2.SysColumns
          ? 存放各列的信息
          ? 最重字段
          ?? 2.1 Name,Id,Colid--字段在表中存放的順序
          ?? 設(shè)一個(gè)表中字段有很多,想列出某表除某字段外的所有字段,可以這樣寫
          ?? 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的數(shù)據(jù)文件存放目錄的話,可以用
          ? Select FileName From SysFiles
          4.SysComments
          ? 保存視圖或存儲(chǔ)過程的語句!
          5.Sysforeignkeys
          ? fkeyid:外鍵表對象ID,rKeyid:主鍵表對象ID
          有時(shí)我們想把數(shù)據(jù)庫中的所有表都去掉,但是有約束的存在,有些表必須在主表前刪除,否則就會(huì)報(bào)錯(cuò),

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

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

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

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


          網(wǎng)站導(dǎo)航:
           
          淺陋見解,僅供參考。拋磚引玉,多加指教!
          主站蜘蛛池模板: 民县| 盐池县| 贵港市| 聂拉木县| 宜兰市| 高州市| 盐城市| 南京市| 江华| 五峰| 灌云县| 连江县| 黄龙县| 阜新| 秀山| 南召县| 思南县| 崇仁县| 沙雅县| 昔阳县| 岗巴县| 兴宁市| 富裕县| 六枝特区| 江油市| 桂东县| 五莲县| 佳木斯市| 桐梓县| 辉县市| 昌都县| 娄烦县| 合水县| 辛集市| 海伦市| 庆元县| 耒阳市| 大渡口区| 海门市| 利川市| 广灵县|