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
相关文档:
SQL常用命令使用方法:
(1) 数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sq ......
使用SQL语句
SQL语言包括数据查询语言(SELECT)、数据操纵语言(INSERT、UPDATE、DELETE)、事务控制语言(COMMIT、ROLLBACK、SAVEPOINT)、数据定义语言(CREATE TABLE、ALTER TABLE、DROP)、数据控制语言(GRANT、REVOKE)等五个部分。
当编写PL/SQL应用程序时,只能直接嵌入SELECT ......
C# 数据库之旅……
继续进攻层出不穷的problems
在上一篇内容的基础上,我又作以改进,现在的情况是这样的:
//In Browseuser form
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System ......
有的时候我们需要一次像数据库中添加多条记录,我们可以使用下面的语句来实现:
--添加一条记录
INSERT INTO tableName(col1,col2,col3) VALUES (1,2,3)
--添加多条记录
INSERT INTO tableName(col1,col2,col3)
SELECT 3,4,5
UNION ALL
SELECT 6,7,8
--从另外的一张表中读取多条数据添加到新表中
INSERT INTO tabl ......