没有直接从两个基本表直接生产新表的,只能分下面2个步骤创建
(1)先创建新表,里面包括tab1,tab2的字段,如
CREATE TABLE new_table
( F1 varchar(20) NOT NULL,
F2 varchar(11) NOT NULL,
F3varchar(40) NOT NULL,
F4 money NOT NULL
)
(2)用INSERT new_table SELECT tab1.*, tab2.* FROM tab1 INNER JOIN tab2 ON tab1.F1=tab1.F3 插入二个基表的数据,这里假定你二个表通过F1,F3关联(关联有一一或一对多,多对一,你要注意JOIN的类型)
如果你可以用视图,视图名叫new_view则,可以直接生成2个表数据的视图
CREATE VIEW new_view AS SELECT tab1.*, tab2.* FROM tab1 INNER JOIN tab2 ON tab1.F1=tab1.F3
12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE DATABASE student
GO
--打开student.db数据库
USE student
GO
--建表
CREATE TABLE student(
_idINT PRIMARY KEY,
name VARCHAR(8) NOT NULL,
grade FLOAT CHECK(grade>=0 AND grade <=100) NOT NULL
)
--增加数据
INSERT INTO student VALUES(1,'张三',84.5)
--查询所有数据
SELECT * FROM student
--修改“张三”的成绩为90分
UPDATE student SET grade=90 WHERE name='张三'
--删除表中名字为“张三”数据
DELETE FROM student WHERE name='张三'
1.打开数据库管理工具并在数据库中创建两个用于测试的新表,在这里,这两个表的表结构应该是相同的。
2.打开一个新的SQL查询窗口来创建一个存储过程。这意味着将插入到TEST中的数据插入到TEST1中。
3.单击“执行”,将创建一个名为“T”的新触发器。输入代码:USE[PHCTIAOMA]GO
/*****object:trigger[dbo].[T]scriptdate:10/28/201708:37:34*****/setANSI_NULLSONGOSETQUOTED_
IDENTIFIERONGOCREATEtrigger[dbo].[T][dbo].[test]forinsertasbegininsertintodbo.TEST1selectstheID,name,andagefrominsertedendGO.
4.展开表结构,可以看到新的触发器‘T’。
5.现在先在TEST表中插入一条数据做测试。INSERTINTOdbo.TESTVALUES('1','Simon','25')。
6.提示两次成功插入数据,然后查看TEST1中的数据是否及时更新。从dbo中选择*。test1,数据被成功写入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)