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
相关文档:
具体要注意的:
1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0 &n ......
今天很自然的在写Sql语句的时候用了Top,一开始没发现问题,因为我从数据库读出的值正好是0,而我习惯变量定义的时候也都赋值0,可是到我不要0的时候我就发现问题了。后来才知道,可爱的小sqlite竟然有不支持的sql语法。
看到某个论坛有个新手也发现了这个问题并发帖了,下面一牛人的回复是“top是哪家的关键词?s ......
//tree.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Syst ......
--通过sql企业管理器修改和删除a表中数据时会出现错误
--sql企业管理Bug,通过程序或执行sql语句更新a表数据没有问题
--添加
Insert a (FName, FCode, FOther) Values('11','2222','33')
--修改
Update a Set FName='22_Edit' Where FCode='22'
--删除
Delete a Where FCode='22'
--查看a/b表数据
Select * from a ......
Oracle发布免费数据库开发工具SQL Developer 1.2
2007.09.25 来自:CSDN 呐不喊 共有评论()条 发表评论 收藏
Oracle SQL Developer是甲骨文公司免费提供的数据库开发工具,可帮助用户简化开发工作,提高编制和调试SQL和PL/SQL代码的效率。现在,这个免费工 ......