Vistas divididas

29/10/2003 - 10:02 por Rodrigo Corral González | Informe spam
Hola grupo!!!!

Una vez mas solicito su ayuda. Estoy intentando usar vistas divididas, la
idea es mejorar el rendimiento de una aplicación multiempresa. Para muchas
tablas la columna de partición será el nombre de la empresa. Pero tengo dos
problemas:

1) No logro hacer funcionar los insert (ver script debajo)
2) ¿Existen las vistas divididas en Oracle? ¿Desde que versión?

Un saludo
Rodrigo Corral González

CREATE TABLE [tOperarios_Empresa1] (
[Empresa] [char] (10) NOT NULL CHECK ([Empresa] = 'Empresa1'),
[Codigo] [char] (10) NOT NULL PRIMARY KEY,
[Operario] [char] (50)NOT NULL
)
GO

CREATE TABLE [tOperarios_Empresa2] (
[Empresa] [char] (10) NOT NULL CHECK ([Empresa] = 'Empresa2'),
[Codigo] [char] (10) NOT NULL PRIMARY KEY ,
[Operario] [char] (50)NOT NULL
)
GO

GO

CREATE VIEW dbo.vwOperarios
AS
SELECT *
FROM dbo.tOperarios_Empresa1
UNION ALL
SELECT *
FROM dbo.tOperarios_Empresa2
GO

INSERT vwOperarios (Empresa, Codigo, Operario) VALUES ('Empresa1', 'OP1',
'Operario1')
 

Leer las respuestas

#1 Carlos Sacristan
29/10/2003 - 10:52 | Informe spam
Rodrigo, tu problema es que la columna de partición debe ser parte de la
clave principal de la tabla. Mira en los BOL el tema "Crear una vista
dividida"; justo en el apartado "Reglas de columnas de partición" viene
comentado ese aspecto.

En cuanto a lo de Oracle, pues la verdad es que no tengo ni idea, esto
es un foro de SQL Server ;-)



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Rodrigo Corral González" escribió en el mensaje
news:
Hola grupo!!!!

Una vez mas solicito su ayuda. Estoy intentando usar vistas divididas, la
idea es mejorar el rendimiento de una aplicación multiempresa. Para muchas
tablas la columna de partición será el nombre de la empresa. Pero tengo


dos
problemas:

1) No logro hacer funcionar los insert (ver script debajo)
2) ¿Existen las vistas divididas en Oracle? ¿Desde que versión?

Un saludo
Rodrigo Corral González

CREATE TABLE [tOperarios_Empresa1] (
[Empresa] [char] (10) NOT NULL CHECK ([Empresa] = 'Empresa1'),
[Codigo] [char] (10) NOT NULL PRIMARY KEY,
[Operario] [char] (50)NOT NULL
)
GO

CREATE TABLE [tOperarios_Empresa2] (
[Empresa] [char] (10) NOT NULL CHECK ([Empresa] = 'Empresa2'),
[Codigo] [char] (10) NOT NULL PRIMARY KEY ,
[Operario] [char] (50)NOT NULL
)
GO

GO

CREATE VIEW dbo.vwOperarios
AS
SELECT *
FROM dbo.tOperarios_Empresa1
UNION ALL
SELECT *
FROM dbo.tOperarios_Empresa2
GO

INSERT vwOperarios (Empresa, Codigo, Operario) VALUES ('Empresa1', 'OP1',
'Operario1')


Preguntas similares