Introduction
This code snippet contains list of sql query that perform very useful task. Every SQL server developer should be aware of these query.
-
- SELECT
- CASE TYPE
- WHEN 'U'
- THEN 'User Defined Tables'
- WHEN 'S'
- THEN 'System Tables'
- WHEN 'IT'
- THEN 'Internal Tables'
- WHEN 'P'
- THEN 'Stored Procedures'
- WHEN 'PC'
- THEN 'CLR Stored Procedures'
- WHEN 'X'
- THEN 'Extended Stored Procedures'
- END,
- COUNT(*)
- FROM SYS.OBJECTS
- WHERE TYPE IN ('U', 'P', 'PC', 'S', 'IT', 'X')
- GROUP BY TYPE
- select Count(*) from sys.procedures
-
- SELECT name
- FROM sys.objects
- WHERE type = 'P'
- AND DATEDIFF(D,create_date, GETDATE()) <100
-
- SELECT 'Count' = COUNT(*), 'Type' = CASE type
- WHEN 'C' THEN 'CHECK constraints'
- WHEN 'D' THEN 'Default or DEFAULT constraints'
- WHEN 'F' THEN 'FOREIGN KEY constraints'
- WHEN 'FN' THEN 'Scalar functions'
- WHEN 'IF' THEN 'Inlined table-functions'
- WHEN 'K' THEN 'PRIMARY KEY or UNIQUE constraints'
- WHEN 'L' THEN 'Logs'
- WHEN 'P' THEN 'Stored procedures'
- WHEN 'R' THEN 'Rules'
- WHEN 'RF' THEN 'Replication filter stored procedures'
- WHEN 'S' THEN 'System tables'
- WHEN 'TF' THEN 'Table functions'
- WHEN 'TR' THEN 'Triggers'
- WHEN 'U' THEN 'User tables'
- WHEN 'V' THEN 'Views'
- WHEN 'X' THEN 'Extended stored procedures'
- END
- FROM sys.objects
- GROUP BY type
- ORDER BY type
- GO
-
- declare @procName varchar(500)
- declare cur cursor
- for select [name] from sys.objects where type = 'p'
- open cur
- fetch next from cur into @procName
- while @@fetch_status = 0
- begin
- exec('drop procedure ' + @procName)
- fetch next from cur into @procName
- end
- close cur
- deallocate cur
- DECLARE @sql NVARCHAR(MAX) = N'';
- SELECT @sql += N'DROP PROCEDURE dbo.'
- + QUOTENAME(name) + ';
- ' FROM sys.procedures
- WHERE name LIKE N'sp[_]%'
- AND SCHEMA_NAME(schema_id) = N'dbo';
- EXEC sp_executesql @sql;
-
-
- EXEC sp_MSforeachtable @command1 = "DROP TABLE ?"
-
-
- Declare @procName varchar(500)
- Declare cur Cursor For Select [name] From sys.objects where type = 'p'
- Open cur
- Fetch Next From cur Into @procName
- While @@fetch_status = 0
- Begin
- Exec('drop procedure ' + @procName)
- Fetch Next From cur Into @procName
- End
- Close cur
- Deallocate cur
-
-
- Declare @viewName varchar(500)
- Declare cur Cursor For Select [name] From sys.objects where type = 'v'
- Open cur
- Fetch Next From cur Into @viewName
- While @@fetch_status = 0
- Begin
- Exec('drop view ' + @viewName)
- Fetch Next From cur Into @viewName
- End
- Close cur
- Deallocate cur
-
-
- Declare @trgName varchar(500)
- Declare cur Cursor For Select [name] From sys.objects where type = 'tr'
- Open cur
- Fetch Next From cur Into @trgName
- While @@fetch_status = 0
- Begin
- Exec('drop trigger ' + @trgName)
- Fetch Next From cur Into @trgName
- End
- Close cur
- Deallocate cur
-
- SELECT DISTINCT o.name, o.xtype
- FROM syscomments c
- INNER JOIN sysobjects o ON c.id=o.id
- WHERE c.TEXT LIKE '%Yourtablename%'
-
- SELECT Name
- FROM sys.procedures
- WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%yourtablename%'
-
- ;WITH stored_procedures AS (
- SELECT
- o.name AS proc_name, oo.name AS table_name,
- ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row
- FROM sysdepends d
- INNER JOIN sysobjects o ON o.id=d.id
- INNER JOIN sysobjects oo ON oo.id=d.depid
- WHERE o.xtype = 'P')
- SELECT proc_name, table_name FROM stored_procedures
- WHERE row = 1
- AND proc_name LIKE '%YourStoredProcedureName%'
- ORDER BY proc_name,table_name
-
- select so.name, text
- from sysobjects so, syscomments sc
- where type = 'TR'
- and so.id = sc.id and text like '%YourTableName%'
-
- SELECT view_name, Table_Name
- FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
- WHERE Table_Name= 'YourTableName'
- ORDER BY view_name, table_name
-
- SELECT view_name, Table_Name
- FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
- WHERE View_Name = 'YourViewName'
- ORDER BY view_name, table_name
-
- SELECT
- TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
- where
- Table_NAME NOT IN
- (
- SELECT DISTINCT c.TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS c
- INNER
- JOIN sys.identity_columns ic
- on
- (c.COLUMN_NAME=ic.NAME))
- AND
- TABLE_TYPE ='BASE TABLE'
-
- CREATE TABLE #counts
- (
- table_name varchar(255),
- row_count int
- )
- EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC
-
- EXEC sp_databases
- EXEC sp_helpdb
- SELECT name
- FROM sys.databases
- SELECT name
- FROM sys.sysdatabases
-
- SELECT *
- FROM sys.objects
- WHERE type_desc LIKE '%FUNCTION%';
-
- DECLARE @DateCounter DATETIME
- SET @DateCounter = GETDATE();
- SELECT
- YEAR(@DateCounter) * 10000+MONTH(@DateCounter)* 100+DAY(@DateCounter) AS [DateId]
- ,CONVERT(char(10), @DateCounter,126) AS [Date]
- ,DATENAME(WEEKDAY,@DateCounter) AS [Day]
- ,DATEPART("WW",@DateCounter) AS WeekOfYear
- ,DATENAME(MONTH,@DateCounter) AS [MonthName]
- ,MONTH(@DateCounter) AS DateMonthNumber
- ,'Q'+CAST(DATEPART(QQ,@DateCounter) AS VARCHAR) AS QuarterCode
- ,YEAR(@DateCounter) AS DateYear
- ,DATENAME(WEEKDAY,@DateCounter)+CAST(DATEPART(DD,@DateCounter) AS VARCHAR)+'Q'+CAST(DATEPART(QQ,@DateCounter) AS VARCHAR)+DATENAME(MONTH,@DateCounter)+DATENAME(YEAR,@DateCounter) AS DateDescription
- ,SUBSTRING(CONVERT(CHAR(10), @DateCounter,126),1,7) AS YearMonthNumber
- ,DATENAME(YEAR,@DateCounter)+ '-' + SUBSTRING(DATENAME(MONTH,@DateCounter),1,3) AS YearMonthCode
- ,DATENAME(YEAR,@DateCounter)+ '-' + 'Q' +CAST(DATEPART(QQ,@DateCounter) AS VARCHAR) AS YearQuarterCode
- ,CONVERT(VARCHAR, @DateCounter,103) AS FormDate
- ,CASE WHEN DATEPART("dw",@DateCounter)=1 THEN 'Sun'
- WHEN DATEPART("dw",@DateCounter)=2 THEN 'Mon'
- WHEN DATEPART("dw",@DateCounter)=3 THEN 'Tues'
- WHEN DATEPART("dw",@DateCounter)=4 THEN 'Weds'
- WHEN DATEPART("dw",@DateCounter)=5 THEN 'Thus'
- WHEN DATEPART("dw",@DateCounter)=6 THEN 'Fri'
- WHEN DATEPART("dw",@DateCounter)=7 THEN 'Sat'
- END AS DayCode
- ,CASE WHEN CONVERT(VARCHAR(10), @DateCounter, 110) = CONVERT(VARCHAR(10), GETDATE(), 110) THEN 'Y' ELSE 'N' END AS IsCurrentDay
- ,CASE WHEN CONVERT(VARCHAR(10), @DateCounter, 110) = CONVERT(VARCHAR(10), GETDATE()-1, 110) THEN 'Y' ELSE 'N' END AS IsPreviousDay
- ,CASE WHEN DATENAME(WEEKDAY,@DateCounter) NOT IN ('Sunday','Saturday') THEN 'Y' ELSE 'N' END AS IsWeekday
- ,CASE WHEN DATENAME(WEEKDAY,@DateCounter) IN ('Sunday','Saturday') THEN 'Y' ELSE 'N' END AS IsWeekendDay
- ,DATEPART("dw",@DateCounter) AS DayOfWeek
- ,CASE WHEN DATEPART("dw",@DateCounter)=2 THEN 'Y' ELSE 'N' END AS IsFirstDayOfWeek
- ,CASE WHEN DATEPART("dw",@DateCounter)=7 THEN 'Y' ELSE 'N' END AS IsLastDayOfWeek
- ,DAY(@DateCounter) AS [DayOfMonth]
- ,CASE WHEN CONVERT(VARCHAR(10), @DateCounter, 110) = CONVERT(VARCHAR(10),DATEADD(dd, -(DATEPART(dd, GETDATE()) + 1), GETDATE()),110..
Summary
In this illustration we came to learn about a lot of very important query. Please put your valuable comments.