SQL SERVER 视图
Garin Zhang
视图
SET NOCOUNT ON;
SET Northwind;
GO
IF OBJECT_ID('dbo.ViewName') IS NOT NULL
DROP VIEW dbo.ViewName;
GO
CREATE VIEW dbo.Viewname
AS
SELECT * from customer AS C
WHERE EXISTS
(SELECT * from dbo.Orders AS O
WHERE O.CustomerID = C.Customerid);
GO
**************************我是分割线**************************
IF OBJECT_ID('abo.VSign') IS NOT NULL
DROP VIEW ado.VSign;
GO
CREATE VIEW ado.VSign
AS
SELECT mnth, qty, SIGN((S1.qty-(SELECT TOP 1 qty from ado.Sales AS S2
WHERE S2.mnth < S1.mnth ORDER BY S2.mnth DESC))) AS sgn
from ado.Sales AS S1
GO
**************************
我是分割线**************************
刷新视图
EXEC sp_refreshview 'dbo.V1';
SELECT NEXEC sp_refreshview QUOTENAME(VIEW_NAME, '');
SELECT NEXEC sp_refreshview QUOTENAME(VIEW_NAME, '"') AS cmd
from(SELECT QUOTENAME(TABLE_SCHEMA) N, QUOTENAME(TABLE_NAME) AS VIEW_NAME
from INFORMATION_SCHEMA, VIEWS) AS V
WHERE OBJECT PROPERTY(OBJECT_ID(VIEW_NAME), 'IsSchemaBound') = 0;
视图中的ORDER BY(必须与TOP和FORXML一起使用)
注:不要依赖于视图的ORDER BY(2000可用,2005不可用)
EXISTS中的*可以用,只起统计作用。
SQLSERVER2005支持CTE,使用模块化方法开发。
**************************
我是分割线**************************
ALTER VIEW dbo.Vtrends
AS
WITH CsalesRN AS
(SELECT mnth, qty, ROW_NUMBER() OVER(ORDER BY mnth) AS RN
from dbo.sales),
CSign AS
(SELECT Cur.mnth, Cur.qty, SIGN(Cur.qty - Prv.qty) AS Sign
from CsalesRN AS Cur
LEFT OU
相关文档:
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
& ......
osql 实用工具
osql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件。该实用工具通过 ODBC 与服务器通讯。
语法
osql
[-?] |
&nb ......
create table students (
name varchar(25),
class varchar(25),
grade int
)
insert into students values ('张三','语文',20)
insert into students values ('张三','数学',90)
insert into students values ('张三','英语',50)
insert into students values ('李四','语文',81)
insert in ......
1、 SQL Server:入站端口为TCP 1433,出站端口为TCP任意端口(1024~5000之间的端口号);
2、 SQL Browser :入站端口为UDP 1434,出站端口为UDP任意端口(1024~5000之间的端口号);
3、查看或修改SQL2005实例的端口号,如果系统中同时安装SQL 2000和SQL 2005,SQL 2005的连接端口可能不是1433,我们需要更改SQL 2005 ......
下面是操作步骤:
1. “服务和连接的外围应用配置“ -》“本地连接和远程连接”-》“同时使用TCP/IP和Named Pipes“;
2. “服务配置管理器”-》“网络配置”-》“SQL Express的协议“-》“IP地址”,将IpAll Tcp端口改为1433;
3. 重启服 ......