目录:
1、sql server多行数据(一列)转换成一个字段
2、Sql Server异常捕获 try catch
3、备份数据库
4、清理日志
5、SQL Server 删除数据库所有表和所有存储过程
6、sql server 数据库创建链接服务器访问另外一个sql server 数据库
7、 SQL Server中使用convert进行日期转换
8、查询
1、sql server多行数据(一列)转换成一个字段
--sql server多行数据(一列)转换成一个字段
CREATE TABLE #test
(
id INT NOT NULL,
memeo INT NOT NULL
)
INSERT INTO #test(id,memeo) VALUES(1,100)
INSERT INTO #test(id,memeo) VALUES(2,200)
INSERT INTO #test(id,memeo) VALUES(3,300)
SELECT STUFF((SELECT ','+CAST(memeo AS NVARCHAR(20))
FROM #test FOR XML PATH('')),1,1,'') --STUFF:删除指定长度的字符,并在指定的起点处插入另一组字符。
DROP TABLE #test
--总结:
--格式:SELECT STUFF((SELECT ','+字段 FROM 表名 FOR XML PATH('')),1,1,'')
2、Sql Server异常捕获 try catch
--Sql Server异常捕获 try catch
declare @num int
begin try
set @num=1/0
end try
begin catch
select ERROR_LINE() as 错误行数, ERROR_MESSAGE() as 错误消息
end catch
3、备份数据库
USE [OwnDB]
GO
/****** Object: StoredProcedure [dbo].[Pro_DBBackup] Script Date: 2017/10/30 11:28:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--备份数据库
CREATE PROC [dbo].[Pro_DBBackup]
(
@dbPath NVARCHAR(200) , --备份文件存放路径,最后带/
@DbName VARCHAR(50) --要备份的数据库名称
)
AS
SELECT @dbPath = @dbPath + @DbName + '_' + CONVERT(VARCHAR(20), GETDATE(), 112)
+ REPLACE(CONVERT(VARCHAR(20), GETDATE(), 108), ':', '') + '.bak'
BACKUP DATABASE @DbName
TO DISK = @dbPath WITH NOINIT , NOUNLOAD , NOSKI