1、查詢SQL中的所有表: Select TABLE_NAME FROM 數(shù)據(jù)庫名稱.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 執(zhí)行之后,就可以看到數(shù)據(jù)庫中所有屬于自己建的表的名稱 2、查詢SQL中所有表及列: Select dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id Where (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties')) 3、在Sql查詢分析器,還有一個(gè)簡單的查詢方法: EXEC sp_MSforeachtable @command1="sp_spaceused '?'" 執(zhí)行完之后,就可以看到數(shù)據(jù)庫中所有用戶表的信息 4、查詢總存儲(chǔ)過程數(shù):select count(*) 總存儲(chǔ)過程數(shù) from sysobjects where xtype='p' 附:xtype類型D = 默認(rèn)值或 DEFAULT 約束
創(chuàng)新互聯(lián)專注于和碩網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供和碩營銷型網(wǎng)站建設(shè),和碩網(wǎng)站制作、和碩網(wǎng)頁設(shè)計(jì)、和碩網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造和碩網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供和碩網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
F = FOREIGN KEY 約束L = 日志FN = 標(biāo)量函數(shù)
IF = 內(nèi)嵌表函數(shù)
P = 存儲(chǔ)過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復(fù)制篩選存儲(chǔ)過程S = 系統(tǒng)表TF = 表函數(shù)
TR = 觸發(fā)器U = 用戶表UQ = UNIQUE 約束(類型是 K)V = 視圖X = 擴(kuò)展存儲(chǔ)過程 另:在sqlserver中取得某個(gè)數(shù)據(jù)庫中所有表名的sql語句 select sysobjects.name from sysobjects.xtype ='U';SELECT name
WHERE (xtype = 'U') 在數(shù)據(jù)庫的sysobjects表里有這個(gè)數(shù)據(jù)庫全部表的信息, xtype值為'U'的就是表名 注意:一般通過上述方法獲得全部用戶表示都會(huì)有一個(gè)dtproperties表,SQLSERVER 默認(rèn)它也是用戶表,想要從用戶表中排出,需要加上限定條件 status0,即:select * from sysobjects where xtype='U' and status0
全局常量可以使用曲線救國的方式來實(shí)現(xiàn)
1、在Master庫里創(chuàng)建一個(gè)自定義函數(shù),函數(shù)返回一個(gè)值
2、在其他庫里調(diào)用這個(gè)函數(shù),就可以獲得這個(gè)值
3、要注意數(shù)據(jù)庫用戶對Master庫的權(quán)限
希望能幫到你
摘自:
【IT專家網(wǎng)獨(dú)家】SQL Server用戶自定義函數(shù)和存儲(chǔ)過程有類似的功能,都可以創(chuàng)建捆綁SQL語句,存儲(chǔ)在server中供以后使用。這樣能夠極大地提高工作效率,通過以下的各種做法可以減少編程所需的時(shí)間:
重復(fù)使用編程代碼,減少編程開發(fā)時(shí)間。
隱藏SQL細(xì)節(jié),把SQL繁瑣的工作留給數(shù)據(jù)庫開發(fā)人員,而程序開發(fā)員則集中處理高級(jí)編程語言。
維修集中化,可以在一個(gè)地方做業(yè)務(wù)上的邏輯修改,然后讓這些修改自動(dòng)應(yīng)用到所有相關(guān)程序中。
乍看之下,用戶自定義函數(shù)和存儲(chǔ)過程的功能似乎一摸一樣。但是,其實(shí)這兩者之間還有一些雖然細(xì)微但是很重要的差異:
存儲(chǔ)過程是使用EXEC命令獨(dú)立調(diào)用的,而用戶自定義函數(shù)是在另一個(gè)SQL語句中調(diào)用的。
l存儲(chǔ)程序是允許用戶和程序去使用存儲(chǔ)過程,而不是允許其存取表格,這樣能夠增強(qiáng)程序安全性。與標(biāo)準(zhǔn)的SQL Server相比,存儲(chǔ)程序限制用戶行動(dòng)權(quán)限方面更為細(xì)化。例如,如果你有一個(gè)貨存表格,每次賣出一個(gè)貨物收銀員都要對表格進(jìn)行更新一次(從貨存中把該貨品減去一件)。你可以給收銀員設(shè)置權(quán)限,允許其使用decrement_item存儲(chǔ)過程,而不是允許他們有任意修改或村表格的權(quán)限。
函數(shù)必須始終返回一個(gè)值(一個(gè)標(biāo)量值或一個(gè)表格)。而存儲(chǔ)過程可以返回一個(gè)標(biāo)量值、一個(gè)表值或無需返回值。
總而言之,存儲(chǔ)程序?qū)QL Server開發(fā)員來說是最有價(jià)值的寶物之一,用于數(shù)據(jù)庫中,能夠大大的提高工作效率,增強(qiáng)安全性,絕對超值。
存儲(chǔ)過程代碼也不貼出來,怎么幫你分析呢?一般出現(xiàn)這種問題的原因是變量沒有事先定義就直接賦值,或者語法不對,用set還是select是有講究的,建議把代碼貼出來看看
在SQLServer 的function中不能進(jìn)行基本表的insert,delete,update操作,但是可以對函數(shù)內(nèi)聲明的局部臨時(shí)表進(jìn)行insert,delete,update操作。
標(biāo)量值函數(shù)返回一個(gè)確定類型的標(biāo)量值,其返回類型除text、ntext、image、cursor、timestamp、和table類型外的其他數(shù)據(jù)類型,函數(shù)體語句定義在begin-end內(nèi)部。在return(注意有帶s)語句后定義返回值的數(shù)據(jù)類型,并且函數(shù)的最后一條語句必須為return。