您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Sql Server各系統表說明及使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
我們平時寫一般的SQL語句的時候,可能不會用到系統表,不過在一些特殊的情況下就會用到了,比如說在系統運用的時候,我們根據日期動態創建的數據表,如果要從里面獲取數據的時候最好需要加上判斷這個表是否存在,如果存在我們就從表里面取數據,如果不存在就跳出。
我們先介紹一下各個系統表的作用,后面再取幾個例子來說明用法。
SQL系統表
sysaltfiles 主數據庫 保存數據庫的文件
syscharsets 主數據庫 字符集與排序順序
sysconfigures 主數據庫 配置選項
syscurconfigs 主數據庫 當前配置選項
sysdatabases 主數據庫 服務器中的數據庫
syslanguages 主數據庫 語言
syslogins 主數據庫 登陸帳號信息
sysoledbusers 主數據庫 鏈接服務器登陸信息
sysprocesses 主數據庫 進程
sysremotelogins 主數據庫 遠程登錄帳號
syscolumns 每個數據庫 列
sysconstrains 每個數據庫 限制
sysfilegroups 每個數據庫 文件組
sysfiles 每個數據庫 文件
sysforeignkeys 每個數據庫 外部關鍵字
sysindexs 每個數據庫 索引
sysmenbers 每個數據庫 角色成員
sysobjects 每個數據庫 所有數據庫對象
syspermissions 每個數據庫 權限
systypes 每個數據庫 用戶定義數據類型
sysusers 每個數據庫 用戶
代碼演示
1.判斷數據表存在
我們要從數據庫里查詢付款流水的信息,付款流水表默認的是txsPayFlow表,后面的tXsPayFlow$201805是代表2018年5月的付款流水,這個表是每個月自動創建的,所以如果我們要查2018年5月的銷售時就要從代年月的分割表里查詢。
正常來說我們查一下18年5月的流水直接就寫
因為我們的軟件里沒有做6月的月結,所以6月的表沒創建,如果我們這里要查6月的數據,用上面的方法會直接報錯了
這個時候我們的系統表就起到作用了,上面寫到sysobjects可以看到數據庫的對象,所以我們首先判斷這個表是否在系統里存在,如果存在取數據,不存在輸出無此表信息。
這樣代碼就可以正常運行了。
2.給數據表里增加字段
一般我們程序升級的時候,數據庫有可能也會增加字段,為了多次執行不報錯,我們在添加字段的時候就需要判斷表里面是否有這個字段。
判斷我們要增加字段的表里是否有這個字段用到了sysobjects,syscolumns這兩個表,通過兩個表里的ID關聯,來判斷是否有我們要增加的列
例:我們要在balance表里面增加一個sflag的列。
通過關聯查詢我們可以看到系統表里的列
這樣我們寫增加一個sflag的列的代碼
當執行完第一次時,下面提示的命令已成功完成,我們從數據庫里已經看到了列也增加了
然后我們再執行一次
下面的提示里面就告訴我們列已經存在了。
看完上述內容,你們對Sql Server各系統表說明及使用方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。