sqlserver小技巧

來源:互聯網
上載者:User

1取得異常訊息

select description from master..sysmessages where error = @@error 

2根據主鍵查詢表的列名

select name from syscolumns where id=object_id('表名') and colid in(
   select colid from sysindexkeys where object_id('表名')=id and indid in(
    select indid from sysindexes where object_id('表名')=id and name in(
     select name from sysobjects where xtype='PK' and parent_obj=object_id('表名')
   )))

3

exec sp_MSForEachTable
@precommand=N'
create table ##(
id int identity,
表名 sysname,
欄位數 int,
記錄數 int,
保留空間 Nvarchar(10),
使用空間 varchar(10),
索引使用空間 varchar(10),
未用空間 varchar(10))',
@command1=N'insert ##(表名,記錄數,保留空間,使用空間,索引使用空間,未用空間) exec sp_spaceused ''?''
update ## set 欄位數=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()',
@postcommand=N'select * from ## where 表名=''[table]'' order by id drop table ##'
4

select A.XX,A.XX from A where not exists (select 1 from B where A.id=B.id)
與select A.XX,A.XX from A where not exists (select * from B where A.id=B.id)

5查看每表記錄數

exec sp_msforeachtable 'select ''?'' as ''表名'',(select count(1) from ?) as ''行數'''

select DISTINCT o.name,i.rows from sysobjects o
inner join sysindexes i
on o.id=i.id
where xtype='u' and OBJECTPROPERTY(o.id, N'IsUserTable') = 1 and i.rows>0

select DISTINCT a.name,c.rows
from  sysobjects  a , syscolumns b , sysindexes c
where  a.id=b.id and a.id=c.id
and  a.type='u'  and c.rows<>0

CREATE TABLE dbo.#(tab_name sysname)

exec sp_msforeachtable 'IF (SELECT COUNT(*) FROM (SELECT TOP 1 * FROM ?) a)>0 INSERT INTO # VALUES(''?'')'

SELECT COUNT(*) FROM #

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.