📄 demopartitionview1.sql
字号:
/*
文件名称: DemoPartitionView1.sql
目 的: 建立一个可更新的本机分区查看表
*/
USE 北风贸易
GO
if exists (select * from dbo.sysobjects where id = object_id(N'dbo.vw_所有客户') and OBJECTPROPERTY(id, N'IsView') = 1)
DROP TABLE 客户1
DROP TABLE 客户2
DROP TABLE 客户3
DROP TABLE 客户4
DROP VIEW dbo.vw_所有客户
GO
-- 建立各个成员数据表(客户1~客户4)
-- 「客户编号」字段将是分区字段,它会被定义为主索引键,
-- 并应用一个 CHECK 条件约束来决定成员数据表所储存的数据范围。
CREATE TABLE 客户1
(
客户编号 int PRIMARY KEY CHECK (客户编号 BETWEEN 1 and 100),
公司名称 nvarchar(50)
)
CREATE TABLE 客户2
(
客户编号 int PRIMARY KEY CHECK (客户编号 BETWEEN 101 and 200),
公司名称 nvarchar(50)
)
CREATE TABLE 客户3
(
客户编号 int PRIMARY KEY CHECK (客户编号 BETWEEN 201 and 300),
公司名称 nvarchar(50)
)
CREATE TABLE 客户4
(
客户编号 int PRIMARY KEY CHECK (客户编号 BETWEEN 301 and 400),
公司名称 nvarchar(50)
)
GO
-- 建立一个由各个客户数据表所组成的本机分区查看表
CREATE VIEW vw_所有客户
AS
SELECT * FROM 客户1
UNION ALL
SELECT * FROM 客户2
UNION ALL
SELECT * FROM 客户3
UNION ALL
SELECT * FROM 客户4
GO
-- 新增数据记录至本机分区查看表 vw_所有客户
INSERT vw_所有客户 (客户编号,公司名称) VALUES (1, '章立民工作室')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (2, '章立民工作室')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (75, '飞狐工作室')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (100, '小林汽车保养厂')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (121, '洪志豪资讯小天地')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (180, '周时恕数据库园地')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (221, '章舒涵儿童电脑绘画')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (242, '吴孟如舞蹈教室')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (375, '洪雯卿外语编译中心')
INSERT vw_所有客户 (客户编号,公司名称) VALUES (321, '章老师数据库规划谘询中心')
GO
-- 更新本机分区查看表 vw_所有客户 中的数据记录
UPDATE vw_所有客户 SET 公司名称 = 'SQL Server 谘询服务中心' WHERE 客户编号 = 75
GO
-- 更新本机分区查看表 vw_所有客户 中的数据记录
DELETE vw_所有客户 WHERE 客户编号 = 2
GO
-- 查看本机分区查看表 vw_所有客户 的数据内容
SELECT * FROM vw_所有客户
GO
-- 查看各个成员数据表的数据内容
SELECT * FROM 客户1
SELECT * FROM 客户2
SELECT * FROM 客户3
SELECT * FROM 客户4
GO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -