Teches

ORACLE列值合并

合并列值最通用的方法就是写一个自定义函数去实现,这里介绍的是其他方法。 准备数据 CREATE TABLE MyTest(xType NUMBER,City varchar2(200)); / INSERT INTO MyTest(xType,City) SELECT 1,'北京' FROM dual UNION ALL SELECT 1,...

SQL Server无法删除数据库的解决方法

思路:先删除与此数据库连接的进程,再删除数据库 直接上脚本: -- 删除与此数据库相关的连接 DECLARE @sql VARCHAR(4000) SELECT @sql = ISNULL(@sql,'') + 'kill ' + LTRIM(spid) + CHAR(13) from sysprocesses WHERE dbid = DB_ID('DB_Name') EXEC(@sql) -- 删除与此数据...

为什么要刷新视图

1.问题描述 有时候会出现这样的情况:从视图中select 出的数据和直接用创建视图的语句选出的数据有差异。 很多人第一次遇到此情况时,会非常惊讶...

SQL递归查询实战

假设某公司的人员组织结构如下图: 数据库表: CREATE TABLE ORG ( EMPID INT NOT NULL, EMPNAME VARCHAR(128) NOT NULL, MGRID INT NOT NULL ); GO INSERT INTO ORG VALUES(1, 'Jack', 0); INSERT INTO ORG VALUES(2, 'Mary', 1); INSERT INTO ORG VALUES(3, 'Tom', 1); INSERT INTO ORG VALUES(4, 'Ben', 2); INSERT INTO ORG VALUES(5, 'John', 3); INSERT...

奇葩的需求

生成测试数据: CREATE TABLE [dbo].[aa]( [a] [nchar](10) NULL, [b] [nvarchar](50) NULL, [c] [nvarchar](50) NULL ) ON [PRIMARY] GO INSERT INTO aa VALUES ('a','杨静,马丽萍', '美容师,美体师&...

SQL行转列与列转行

先准备点数据: CREATE TABLE Sell ( [Year] INT, [Quarter] NVARCHAR(10), Quantity INT ) GO INSERT INTO Sell SELECT 2006, 'Q1', 20 UNION ALL SELECT 2006, 'Q2', 15 UNION ALL SELECT 2006, 'Q2', 4 UNION ALL SELECT 2006, 'Q3', 12 UNION ALL SELECT 2006, 'Q4', 18 UNION ALL SELECT 2007, 'Q1', 10 UNION ALL SELECT 2007, 'Q2', 10 UNION ALL SELECT 2008, 'Q1', 8 UNION ALL...