工作中,我們經常會碰到會為乙個已有的系統增加一些東西,如在報表中增加一些字段,或者在匯出excel檔案時增加一些column. 這時侯,我們不知道我們需要的資料在資料庫中的哪個表中。至少,我們知道這個欄位的名稱吧!那我們就通過欄位名稱來找到資料庫中對應的表。下面給出**示例:
useadventureworks
goselect
distinct
object_name
(id)
from
syscolumns
where
name
like
'%employeeid%
'orderby1
go
我需要找到employeeid是從哪個表裡面來的,通過執行上面一條語句,可以找到所有使用了employeeid的表,檢視,儲存過程,函式等等。通過名稱排除檢視,儲存過程,函式等等,剩下的都是表了。仔細分析一下,不難找到employeeid的主表。
object_name(id):返回指定id的物件名稱;
syscolumns: 每個表和檢視中的每列在表中佔一行,儲存過程中的每個引數在表中也佔一行。該錶位於每個資料庫中;
name : 是syscolumns 中的列,儲存列名或過程引數的名稱。
既然syscolumns是表示資料庫系統中的行集,那sysobjects 就表示系統中所有的物件集,如表,檢視等。下面的資料庫語句可以查詢資料庫中是否含有指定表。
select*from
sysobjects
where
object_name
(id) in(
'oe_order_lines_all',
'oe_order_headers_all',
'oe_transaction_types_tl',
'fndlookupvalues',
'hz_cust_site_uses_all',
'hz_cust_acct_sites_all')
查詢某個欄位名在某些表
最近做程式,要把某些欄位的批量值修改一下,例如性別 和id轉換,於是寫了個函式,來呼叫。很簡單貽笑大方了。create function f gettablenamelist incolumnname as varchar 50 returns varchar 500 begin 內部變數 decl...
用SQL命令修改欄位名稱
sp rename是乙個功能豐富的儲存過程,能夠對 表 檢視 列 儲存過程 觸發器 預設值 資料庫 物件或規則進行重新命名,並且保證不丟失資料。sp renamedb 更改資料庫的名稱。下例將資料庫 accounting 改名為 financial。sql server 2005 新增字段 alte...
mysql通過字段注釋查詢欄位名稱
原文 mysql通過字段注釋查詢欄位名稱 有時候表的字段太多,只是大致記得表的注釋,想通過字段注釋查詢欄位名稱,可以用如下語句 select column name,column comment from information schema.columns where table name tj ...