我需要创建一个视图,我会列出某些属性。更具体一点:
表Clientemp
-
contact
表Cliente
-
name
,address
我需要从表Clientemp
进入name
address
和Cliente
属性。
到目前为止,我有:
create view "Company Clients"
select client.name, cliente.address, clientemp.contact
from cliente, clientemp
insert into clientemp (select name, address from cliente)
这会有用吗?有什么建议吗?
答案 0 :(得分:3)
基本视图DDL:
CREATE VIEW CompanyClients AS
SELECT {column list}
FROM Clientemp T1
INNER JOIN
Cliente T2
ON T1.{Key} = T2.{Key}
;
正如您所写的SELECT,连接将导致CARTESIAN产品(CROSS JOIN) 表Clientemp和Cliente。这将产生两个表之间的每个可能的记录组合。
INSERT语句的正确语法是
插入{目标} SELECT {Column list} FROM {TableA} / *可选加入条件* /;
根据数据库系统,您的VIEW定义可能会有所不同 不允许INSERT语句。
但是,有些数据库系统 允许您通过基础视图的视图执行INSERTS 以单个表为目标,并使用列进行适当限定 要求INSERT时存在一个值。 (在 换句话说,所有没有指定DEFAULT值的列 表定义。)