10+ SQL Server commonly used scripts, In the development environment, we can perform arbitrary operations on the database. Once the project is completed and is about to go online, we may perform some deletion operations on the database, such as deleting all stored procedures, all views, backups, restores, etc.
SQL Server commonly used scripts
The SQL Server database organized by SQL commonly used scripts . In the development environment, we can toss the database at will. Once the project is completed and will go online, we may perform some deletion operations on the database, such as deleting all stored procedures , all views, and backups. , Restore, etc., the compiled scripts are now as follows:
Delete all tables with the specified prefix
Such as Sys_User, Sys_Role
DECLARE @cmdText VARCHAR(8000) SET @cmdText='' SELECT @cmdText=@cmdText+'drop table '+name+'; ' FROM (select [name] from [sysobjects] where [type] = 'u' AND NAME LIKE 'Sys_%') T EXEC (@cmdText) go
10+ SQL Server commonly used scripts
Delete all stored procedures
declare mycur cursor local for select [name] from dbo.sysobjects where xtype='P' declare @name varchar(100) OPEN mycur FETCH NEXT from mycur into @name WHILE @@FETCH_STATUS = 0 BEGIN exec('drop PROCEDURE ' + @name) FETCH NEXT from mycur into @name END CLOSE mycur go
10+ SQL Server commonly used scripts
Delete all stored procedures
declare mycur cursor local for select [name] from dbo.sysobjects where xtype='P' declare @name varchar(100) OPEN mycur FETCH NEXT from mycur into @name WHILE @@FETCH_STATUS = 0 BEGIN exec('drop PROCEDURE ' + @name) FETCH NEXT from mycur into @name END CLOSE mycur go
10+ SQL Server commonly used scripts
Delete all views
declare mycur cursor local for select [name] from dbo.sysobjects where xtype='V' declare @name varchar(100) OPEN mycur FETCH NEXT from mycur into @name WHILE @@FETCH_STATUS = 0 BEGIN exec('drop VIEW ' + @name) FETCH NEXT from mycur into @name END CLOSE mycur go
10+ SQL Server commonly used scripts
Add unique constraints to multiple columns in the table
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'UQ_Product') BEGIN ALTER TABLE Sys_Product DROP CONSTRAINT UQ_Product END go Alter Table Sys_Product Add Constraint UQ_Product unique(Name,UnitID) go
10+ SQL Server commonly used scripts
Restore deleted data via script
BACKUP LOG MEDIMS TO disk = N'd:\database name.log' WITH NORECOVERY RESTORE DATABASE MEDIMS FROM DISK = N'd:\database name.bak' WITH NORECOVERY, REPLACE RESTORE LOG database name FROM DISK = N'd:\database name.log' WITH STOPAT = N'2013-12-02 23:16:50.550', RECOVERY go
10+ SQL Server commonly used scripts
Add column to existing table
IF NOT exists(select * from syscolumns where id=object_id('dbo.Sys_User') and name='CreateTime') BEGIN alter table Sys_User add CreateTime DATETIME not NULL DEFAULT '1900-01-01' execute sp_addextendedproperty 'MS_Description', 'create time','user', 'dbo', 'table', 'Sys_User', 'column', 'CreateTime' END go
10+ SQL Server commonly used scripts
Delete column from existing table
IF NOT exists(select * from syscolumns where id=object_id('dbo.Sys_User') and name='CreateTime') BEGIN alter table Sys_User add CreateTime DATETIME not NULL DEFAULT '1900-01-01' execute sp_addextendedproperty'MS_Description','Create Time','user','dbo','table','Sys_User','column','CreateTime' END go
10+ SQL Server commonly used scripts
Rename column of existing table
IF exists(select * from syscolumns where id=object_id('dbo.Sys_User') and name='CreateTime') BEGIN EXEC sp_rename'Sys_User.CreateTime','New column name','column' END GO
10+ SQL Server commonly used scripts
Create a stored procedure
if exists(select 1 from sys.procedures where object_id=object_id('sp_Sys_UserAdd')) begin drop procedure sp_Sys_UserAdd end go
10+ SQL Server commonly used scripts
Change column data type
ALTER TABLE Sys_User ALTER COLUMN Age int go
10+ SQL Server commonly used scripts
Delete view
IF EXISTS(SELECT 1 FROM sys.views WHERE name='v_SB_User') DROP VIEW v_SB_User GO
Create view
-------------------------------------------------- ------------------ - Function description: User management view - Author: https://jhrs.com - Creation time: 2018-04-03 User management paging query use - Modification description: 2018-05-23 jhrs.com adds user role data query -------------------------------------------------- ------------------ CREATE view [dbo].[v_SysUser] as select * from Sys_User A,Sys_Role B where A.UserID=B.UserID GO
10+ SQL Server commonly used scripts
According to the table to generate the stored procedure of the insert statement
-Create a stored procedure if exists(select 1 from sys.procedures where object_id=object_id('proc_insert')) begin drop procedure proc_insert end go - =============================================== ====== --According to the data in the table to generate the stored procedure of the insert statement -Create a stored procedure, execute proc_insert table name --Thanks Sky_blue --Thanks to szyicol - =============================================== ====== CREATE proc [dbo].[proc_insert] (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4000) declare @sqlstr2 varchar(4000) select @sqlstr='select''insert'+@tablename select @sqlstr1='' select @sqlstr2=' (' select @sqlstr1 = 'values (''+' select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+'[' + name +']' +',' from (select case - when a.xtype =173 then'case when'+a.name+' is null then''NULL'' else'+'convert(varchar('+convert(varchar(4),a.length*2+2 )+'),'+a.name +')'+' end' when a.xtype =104 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(1),['+a.name +'])'+' end' when a.xtype =175 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'replace(['+a.name+ '],'''''''','''''''''''')' +'+'''''''''+' end' when a.xtype =61 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'convert(varchar(23),[ '+a.name +'],121)'+'+'''''''''+' end' when a.xtype =106 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar('+convert(varchar(4),a.xprec+2)+ '),['+a.name +'])'+' end' when a.xtype =62 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(23),['+a.name +'],2)' +'end' when a.xtype =56 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(11),['+a.name +'])'+' end' when a.xtype =60 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(22),['+a.name +'])'+' end' when a.xtype =239 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'replace(['+a.name+ '],'''''''','''''''''''')' +'+'''''''''+' end' when a.xtype =108 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar('+convert(varchar(4),a.xprec+2)+ '),['+a.name +'])'+' end' when a.xtype =231 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'replace(['+a.name+ '],'''''''','''''''''''')' +'+'''''''''+' end' when a.xtype =59 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(23),['+a.name +'],2)' +'end' when a.xtype =58 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'convert(varchar(23),[ '+a.name +'],121)'+'+'''''''''+' end' when a.xtype =52 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(12),['+a.name +'])'+' end' when a.xtype =122 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(22),['+a.name +'])'+' end' when a.xtype =48 then'case when ['+a.name+'] is null then''NULL'' else'+'convert(varchar(6),['+a.name +'])'+' end' - when a.xtype =165 then'case when'+a.name+' is null then''NULL'' else'+'convert(varchar('+convert(varchar(4),a.length*2+2 )+'),'+a.name +')'+' end' when a.xtype =167 then'case when ['+a.name+'] is null then''NULL'' else'+'''''''''+'+'replace(['+a.name+ '],'''''''','''''''''''')' +'+'''''''''+' end' else'''NULL''' end as col,a.colid,a.name from syscolumns a where a.id = object_id(@tablename) AND [Status]<>128 and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36 )t order by colid select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+')'+left(@sqlstr1,len(@sqlstr1)-3)+')'' from'+@tablename --print @sqlstr exec( @sqlstr) set nocount off end go ----------------------------------End: According to the table to generate the stored procedure of the insert statement ------ ---------------------------
Paging stored procedures of SQL commonly used scripts
-Create a stored procedure if exists(select 1 from sys.procedures where object_id=object_id('sp_GetPageList')) begin drop procedure sp_GetPageList end go CREATE PROCEDURE [dbo].[sp_GetPageList] ( @TableName nvarchar(max), - table name @strGetFields varchar(1000) ='*', - the column to be returned @OrderField varchar(255)='', - the name of the sorted field @PageSize int = 10, - page size @PageIndex int = 1, - page number @strWhere varchar(1500) ='', - query conditions (note: do not add where) @Counts int = 0 output - the number of records queried ) AS declare @strSQL nvarchar(4000) - main statement declare @totalRecord int --The number of records queried declare @SqlCounts nvarchar(max) - SQL construction for total query --Calculate the total number of records begin if @strWhere !='' set @SqlCounts ='select @totalRecord=count(*) from '+ @TableName +' where'+@strWhere else set @SqlCounts ='select @totalRecord=count(*) from '+ @TableName +'' end exec sp_executesql @SqlCounts,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--calculate the total number of records set @Counts=@totalRecord BEGIN IF (@strWhere='' or @strWhere IS NULL) SET @strSQL ='Select * FROM (select '+ @strGetFields +',ROW_NUMBER() Over(order by' + @OrderField +') as rowId from '+ @TableName ELSE SET @strSQL ='Select * FROM (select '+ @strGetFields +',ROW_NUMBER() Over(order by' + @OrderField +') as rowId from '+ @TableName +' where '+ @strWhere END --Handle the situation that the number of pages is out of range IF @PageIndex<=0 SET @PageIndex = 1 --Processing start point and end point DECLARE @StartRecord INT DECLARE @EndRecord int SET @StartRecord = (@pageIndex-1)*@PageSize + 1 SET @EndRecord = @StartRecord + @PageSize-1 -Continue to synthesize SQL statements SET @strSQL = @strSQL +') as tempTable where rowId >=' + CONVERT(VARCHAR(50),@StartRecord) + 'and rowid<=' + CONVERT(VARCHAR(50),@EndRecord) exec sp_executesql @strSQL GO
The above is a paging stored procedure in a common SQL script. After adding it to the database, it can be executed directly.
CTE expression recursive query
WITH OrgTree (DepartmentID, DepartmentName, ParentID, Tree) AS ( SELECT DepartmentID, DepartmentName, ParentID, 0 AS Tree FROM MyDepartment WHERE ParentID IS NULL UNION ALL SELECT MyDepartment.DepartmentID, MyDepartment.DepartmentName, MyDepartment.ParentID, OrgTree.Tree + 1 FROM MyDepartment JOIN OrgTree ON MyDepartment.ParentID = OrgTree.DepartmentID ) SELECT * FROM OrgTree ORDER BY Tree
The above SQL commonly used script is one of the SQL Server recursive query solutions, and it is also very practical.
SQL commonly used scripts are written at the end
After collecting some very useful SQL commonly used scripts, you can easily take them out and modify them before you can use them. For some enterprise-level systems, it may be helpful, especially for some old projects, which will still be flooded with a lot of SQL code. Project.
The above is the SQL commonly used scripts, organized by the quack people website.