SQL连接,插入?

时间:2011-11-09 17:44:05

标签: sql

我需要创建一个视图,我会列出某些属性。更具体一点:

Clientemp -

  • contact

Cliente -

  • name
  • address

我需要从表Clientemp进入name addressCliente属性。 到目前为止,我有:

create view "Company Clients"
select client.name, cliente.address, clientemp.contact
from cliente, clientemp
insert into clientemp (select name, address from cliente)

这会有用吗?有什么建议吗?

1 个答案:

答案 0 :(得分:3)

基本视图DDL:

CREATE VIEW CompanyClients AS
SELECT {column list}
  FROM Clientemp T1
 INNER JOIN
     Cliente T2
         ON T1.{Key} = T2.{Key}
;
  1. 正如您所写的SELECT,连接将导致CARTESIAN产品(CROSS JOIN) 表Clientemp和Cliente。这将产生两个表之间的每个可能的记录组合。

  2. INSERT语句的正确语法是

    插入{目标}     SELECT {Column list} FROM {TableA} / *可选加入条件* /;

  3. 根据数据库系统,您的VIEW定义可能会有所不同 不允许INSERT语句。

  4. 但是,有些数据库系统     允许您通过基础视图的视图执行INSERTS     以单个表为目标,并使用列进行适当限定     要求INSERT时存在一个值。 (在     换句话说,所有没有指定DEFAULT值的列     表定义。)