¿Qué son las vistas VIEWS en las bases de datos? ¿Y por qué son necesarios? Un ejemplo de creación de una vista en una base de datos de MS SQL Server usando MS Visual Studio. Crear un campo calculado

Las vistas se pueden manipular en el Editor de consultas ejecutando scripts SQL que utilizan los comandos DDL CREATE, ALTER y DROP. La sintaxis básica para crear una vista es la siguiente:

CREAR VISTA nombre_vista AS SELECT_statement

Por ejemplo, para crear mediante programación una vista v_Customer que devuelva una lista de clientes con su ciudad de residencia, ejecutaría el siguiente comando en la ventana de consulta.

CREAR VISTA.

SELECCIONE dbo.Cliente.IdCust, dbo.Cliente.FName, dbo.Cliente.LName, dbo.Ciudad.CiudadNombre

DESDE dbo.Cliente UNIÓN INTERNA

dbo.Ciudad ON dbo.Cliente.IdCity = dbo.Ciudad.IdCity

Intentar crear una vista que ya existe arrojará un error. Una vez creada la vista, la instrucción SELECT se puede editar fácilmente usando el comando ALTER:

ALTER nombre_vista AS declaración_SELECT_modificada

Si cambiar una vista también significa cambiar sus permisos de acceso, es preferible eliminarla y crearla nuevamente, ya que al eliminar una vista también se eliminan los permisos de acceso que se establecieron anteriormente.

Para eliminar una vista de la base de datos, use el comando DROP:

DROP VIEW nombre_vista

ordenar por cláusula y vistas

Las vistas sirven como fuente de datos para otras consultas y no admiten la clasificación interna. Por ejemplo, el siguiente código recupera datos de la vista v_Customer y los organiza por los campos LName y FName. La cláusula ORDER BY no forma parte de la vista v_Customer, pero se aplica llamando a la instrucción SQL:

SELECCIONE IdCust, FName, LName, CityName

DE dbo.v_Cliente

ORDENAR POR LName, FName

Ejecutando vistas

La actuación no se puede realizar por sí sola. La instrucción SELECT a partir de la cual se crea la vista se puede ejecutar, pero de esta forma, la instrucción SQL no es técnicamente una vista. Una vista solo es útil como fuente de datos en una consulta.

Es por eso que el menú contextual Abrir vista de ManagementStudio genera automáticamente una consulta simple que recupera todas las columnas de la vista. La vista solo muestra resultados. Sin embargo, activar los otros paneles del Diseñador de consultas le permite ver la consulta misma tal como se extrajo de la vista.

El Panel SQL mostrará la vista en la cláusula FROM de la instrucción SELECT. Esta es la forma en que los usuarios hacen referencia a la vista:

SELECCIONAR * DE v_Cliente

Asignación para trabajo independiente: Cree una vista que devuelva una lista de pedidos, indicando el nombre del cliente y la cantidad de artículos en cada pedido. Por lo tanto, el resultado debe incluir los siguientes atributos: IdOrd, OrdDate, IdCust, FName, LName, Número de tipos de productos en el pedido.

Laboratorio n.º 7: programación t-sql, sintaxis y convenciones de t-sql

Reglas para generar identificadores.

Todos los objetos en SQLServer tienen nombres (identificadores). Ejemplos de objetos son tablas, vistas, procedimientos almacenados, etc. Los identificadores pueden tener hasta 128 caracteres, incluidas letras, _@$# y números. El primer carácter siempre debe ser alfabético. Las variables y tablas temporales utilizan esquemas de nombres especiales. El nombre del objeto no puede contener espacios y no puede ser el mismo que la palabra clave reservada de SQLServer, independientemente del caso utilizado. Al encerrar los identificadores entre corchetes, se pueden utilizar caracteres prohibidos en los nombres de los objetos.

Completando las instrucciones

El estándar ANSISQL requiere que se coloque un punto y coma al final de cada declaración. Al mismo tiempo, al programar en T-SQL, no se requiere el punto y coma.

Comentarios

El lenguaje T-SQL permite dos estilos de comentarios: ANCI y C. El primero de ellos comienza con dos guiones y termina al final de la línea:

Este es un comentario de estilo ANSI de una línea.

También se pueden insertar comentarios de estilo ANSI al final de la línea de declaración:

SELECCIONAR nombre de ciudad: columnas que se recuperarán

DESDE Ciudad – tabla fuente

DONDE IdCiudad = 1; -- límite de línea

El editor SQL puede aplicar y eliminar comentarios en todas las líneas seleccionadas. Para hacer esto, seleccione los comandos apropiados en el menú. Editar o en la barra de herramientas.

Un ejemplo de creación de una vista en una base de datos de MS SQL Server usando MS Visual Studio. Crear un campo calculado

Este tema describe el proceso detallado paso a paso de creación de una vista utilizando el ejemplo de la base de datos Education.mdf, que se encuentra en un archivo local. La base de datos está diseñada para funcionar bajo el DBMS de Microsoft SQL Server.

Con este ejemplo, puede aprender a crear propio presentaciones datos que se obtienen de las tablas. Según las vistas, puede crear informes para mostrar los resultados del programa en un formato conveniente (en papel).

Condición problemática

Se proporciona una base de datos, que se encuentra en el archivo Education.mdf. La base de datos contiene dos tablas relacionadas: Estudiante y Sesión.

Las tablas están relacionadas entre sí mediante el campo ID_Book.

Usando las herramientas de Microsoft Visual Studio, cree una vista (Vista) llamada Vista1, que tendrá la siguiente estructura:

Nombre del campo Mesa
Núm_Libro Alumno
Nombre Alumno
Matemáticas Sesión
informatica Sesión
Filosofía Sesión
Promedio Campo calculado

Ejecución (instrucciones paso a paso)

1. Descargue Microsoft Visual Studio
2. Conecte la base de datos Education.mdf a la lista de bases de datos en la utilidad Server Explorer.

Para no perder el tiempo desarrollando y vinculando las tablas de la base de datos Education.mdf, puede descargar la base de datos ya preparada. Después de descargar y guardar en una carpeta determinada, la base de datos debe estar conectada a la lista de bases de datos en la utilidad Server Explorer.

La conexión de una base de datos se implementa de una de varias formas estándar:

  • seleccionando el comando “Conectar a la base de datos...” del menú Herramientas;
  • seleccionando el botón (comando) “Conectar a la base de datos...” de la utilidad Server Explorer.

Como resultado, se abrirá una ventana del asistente en la que deberá configurar la base de datos.

Arroz. 1. Métodos para agregar/conectar una base de datos

El proceso de configuración de la base de datos se realiza de forma secuencial con mejoras. Se abre Windows en el que se especifican las configuraciones apropiadas.

En el tema se proporciona una descripción detallada de cómo conectar una base de datos de Microsoft SQL Server en Microsoft Visual Studio:

Después de conectarse, la ventana de la utilidad Server Explorer tendrá el aspecto que se muestra en la Figura 2.

Arroz. 2. Utilidad Server Explorer con la base de datos Education.mdf conectada

3. Agregar una nueva vista (Ver). Agregar comando Nueva vista

El sistema Microsoft Visual Studio le permite crear representaciones de datos (vistas). Las vistas en sí solo muestran datos de la tabla en un formato fácil de leer. No son directamente datos de tablas (Tablas). En nuestro caso, necesitamos crear una vista de acuerdo con la condición de la tarea.

La vista se crea utilizando el comando "Agregar nueva vista", que se llama desde el menú contextual (Figura 3).

Arroz. 3. Comando "Agregar nueva vista..."

Como resultado, se abrirá la ventana "Agregar tabla", en la que deberá seleccionar las tablas cuyos datos se utilizarán en la vista (Figura 4).

Arroz. 4. Seleccionar las tablas a utilizar en la consulta

Para nuestro caso, necesitamos seleccionar ambas tablas.

Como resultado, la ventana de Microsoft Visual Studio tendrá el aspecto que se muestra en la Figura 5.

Arroz. 5. Ventana de Microsoft Visual Studio después de crear la vista

En las tablas, debe seleccionar los campos que se utilizarán en la vista. El orden en que se seleccionan los campos puede corresponder a su visualización en la consulta de acuerdo con las condiciones de la tarea. Esto significa que primero se seleccionan los campos de la tabla Estudiante (NumBook, Nombre), y luego se seleccionan los campos de la tabla Sesión (Matemáticas, Informática, Filosofía).

Para nuestro caso, la elección de campos se muestra en la Figura 6.

Arroz. 6. Seleccionar campos para la presentación

Como se puede ver en la Figura 6, la representación SQL generada por el sistema se muestra en la parte inferior de la ventana.

SELECCIONAR dbo.Student.Num_Book, dbo.Student.Name, dbo.Session.Mathematics, dbo.Session.Informatics, dbo.Session.Philosophy DE
4. Agregue un campo calculado Promedio

Para crear un campo calculado Promedio, debe cambiar el texto de la consulta SQL para la vista en la parte inferior (consulte la Figura 6, parte inferior). Por ejemplo:

SELECCIONAR dbo.Student.Num_Book, dbo.Student.Name, dbo.Session.Mathematics, dbo.Session.Informatics, dbo.Session.Philosophy, (dbo.Session.Mathematics + dbo.Session.Informatics + dbo.Session.Philosophy)/ 3.0 como promedio DE dbo.Session INNER JOIN dbo.Student ON dbo.Session.ID_Book = dbo.Student.ID_Book

Se agrega el campo calculado Promedio, que es la media aritmética (Figura 7).

Arroz. 7. Agregar un campo calculado Promedio

5. Ejecute una consulta SQL para mostrar la vista

En la parte inferior de la ventana, la Figura 7 muestra el resultado de ejecutar una consulta SQL para la vista. La consulta se ejecuta llamando al comando “Ejecutar SQL” desde el menú “Diseñador de consultas” o haciendo clic en el botón ‘!’ , como se muestra en la Figura 8).

Arroz. 8. Llame para ejecutar una consulta SQL.

6. Guardar la vista

Después de llamar al comando

Archivo->Guardar todo

Se abrirá la ventana "Elegir nombre" (Figura 9), en la que deberá especificar el nombre de la vista recién creada. En nuestro caso podemos dejar el nombre ( View1 ), que es el que nos sugiere el sistema por defecto.

Arroz. 9. Ventana para configurar un nombre para la vista.

7. Muestre la vista en la ventana del Explorador de servidores.

Después de guardar la vista, la ventana de la utilidad Server Explorer tendrá el aspecto que se muestra en la Figura 10. Como se puede ver en la figura, View1 se muestra en la ventana Server Explorer.

CREAR VISTA. Este método es preferible a otros si existe la posibilidad de que cree otras vistas en el futuro, ya que puede colocar declaraciones T-SQL en un archivo de script y luego editar y usar ese archivo una y otra vez. SQL Server Enterprise Manager admite un entorno gráfico en el que puede crear una vista. Finalmente, puede utilizar el Asistente para crear vista cuando necesite ayuda para recorrer el proceso de creación de la vista, lo que puede resultar útil tanto para principiantes como para expertos.
Usando T-SQL para crear una vista

Crear vistas usando T-SQL es un proceso bastante simple: ejecuta la declaración CREAR VISTA para crear una vista usando ISQL, OSQL o Query Analyzer. Como ya se analizó, es preferible utilizar declaraciones T-SQL en un script porque estas declaraciones se pueden modificar y reutilizar. (También debe almacenar las definiciones de su base de datos en scripts en caso de que necesite recrear su base de datos).

Operador CREAR VISTA tiene la siguiente sintaxis:

CREAR VISTA nombre_vista [(columna, columna...)] COMO su instrucción SELECT

Cuando crea una vista, puede activar dos funciones que cambian el comportamiento de la vista. Para habilitar estas funciones, debe incluir las palabras clave CON ENCRYPTION y/o CON CHECK OPTION en la declaración T-SQL. Veamos estas herramientas con más detalle.

La palabra clave FROM ENCRYPTION especifica que la definición de vista (la instrucción SELECT que define la vista) debe estar cifrada. SQL Server utiliza el mismo método para cifrar declaraciones SQL que para las contraseñas. Esta técnica de seguridad puede resultar útil si no desea que determinadas clases de usuarios sepan a qué tablas se accede.

La palabra clave FROM CHECK OPTION especifica que las operaciones de modificación de datos aplicadas a la vista deben cumplir los criterios contenidos en la instrucción SELECT. Por ejemplo, puede evitar que se aplique una operación de modificación de datos a una vista para crear una fila de tabla que no sea visible dentro de la vista. Supongamos que está definiendo una vista para muestrear información sobre todos los empleados del departamento de finanzas (departamento de finanzas). Si la palabra clave CON CHECK OPTION no está incluida en el extracto, puede cambiar el valor financiero de la columna del departamento a un valor que especifique un departamento diferente. Pero si se especifica esta palabra clave, entonces no se permitirá este cambio, ya que cambiar el valor de la columna del departamento en cualquier fila hará que esa fila no esté disponible en esa vista. La palabra clave FROM CHECK OPTION especifica que no puede hacer que ninguna fila no esté disponible en una vista realizando algún cambio dentro de esa vista.

La declaración SELECT se puede modificar para crear cualquier vista que desee. Puede usarse para seleccionar un subconjunto de columnas o un subconjunto de filas, o para realizar algún tipo de operación de unión. En las siguientes secciones, aprenderá cómo utilizar T-SQL para crear diferentes tipos de vistas.

Subconjunto de columnas

Una vista que contenga un subconjunto de columnas puede resultar útil si necesita proteger una tabla a la que los usuarios solo deberían acceder parcialmente. Veamos un ejemplo. Supongamos que la base de datos de empleados de una empresa contiene una tabla denominada Empleado con columnas de datos (Figura 18.1).


Arroz. 18.1.

La mayoría de estos datos son críticos y solo deben ser visibles para ciertos empleados. Sin embargo, puede resultar útil permitir que todos los usuarios vean algunos de estos datos. Para hacer esto, puede crear una vista que permita a todos los usuarios acceder solo a ciertos datos. Esta representación también se puede utilizar para evitar duplicación de datos sobre empleados en otras tablas de datos.

Para crear una vista en la tabla Empleado que solo tenga acceso a las columnas de nombre, teléfono y oficina, utilice la siguiente instrucción T-SQL:

CREAR VER emp_vw COMO SELECCIONAR nombre, teléfono, oficina DEL Empleado

La vista resultante contendrá columnas (Figura 18.2). Aunque estas columnas también existen en la tabla base, los usuarios que acceden a los datos a través de esta vista solo pueden ver estas columnas en esta vista. Y debido a que una vista puede tener un nivel de seguridad diferente al de la tabla base de la vista, la vista se puede compartir con cualquier usuario mientras la tabla subyacente permanece protegida. En otras palabras, puede restringir el acceso a la tabla Empleado, por ejemplo, solo al departamento de Recursos Humanos y puede otorgar acceso a esta vista a todos los usuarios.

SQL-actuación(vista SQL) es una tabla virtual formada por otras tablas o vistas. Una vista no tiene datos propios, sino que agrega datos de tablas o vistas que forman parte de ella. Las vistas se crean utilizando declaraciones SELECT y tienen muchos usos:

    Con su ayuda, puede ocultar el acceso a columnas o filas individuales. Este es un mecanismo de seguridad que permite a los usuarios acceder a los datos a través de vistas, pero no les otorga permiso para acceder directamente a las tablas subyacentes.

    Le permiten mostrar columnas calculadas y ocultar declaraciones SQL complejas para simplificar y personalizar la experiencia de la información en la base de datos para cada usuario.

    Las vistas también proporcionan una capa de abstracción entre los datos procesados ​​por la aplicación y los datos reales contenidos en las tablas. A continuación se proporcionan ejemplos de cada uno de estos usos y se analizan algunos otros usos de las vistas.

    1. índices SQL

Índice(Índice en inglés): un objeto de base de datos creado para mejorar el rendimiento de la recuperación de datos. Las tablas de una base de datos pueden tener una gran cantidad de filas almacenadas en orden aleatorio, y buscarlas según un criterio determinado escaneando secuencialmente la tabla fila por fila puede llevar mucho tiempo. Un índice se forma a partir de los valores de una o más columnas de la tabla y punteros a las filas correspondientes de la tabla y, por lo tanto, le permite buscar filas que cumplan los criterios de búsqueda. La aceleración del trabajo utilizando índices se logra principalmente debido al hecho de que el índice tiene una estructura optimizada para la búsqueda, por ejemplo, un árbol equilibrado.

    1. Desencadenantes

Los activadores son técnicas que se pueden utilizar para garantizar la integridad de una base de datos incluso cuando la utilizan varias aplicaciones.

Desencadenar - Este es un tipo especial de procedimiento almacenado que se ejecuta automáticamente cada vez que se intenta cambiar los datos que protege. Los activadores garantizan la integridad de los datos al evitar cambios no autorizados o incorrectos en los datos.

Digamos que la base de datos tiene tablas conectadas a través de un campo. Detener. Nombre. Por ejemplo, podría ser una tabla de paradas y rutas de transporte urbano. Es razonable definir un activador que, siempre que se intente eliminar una entrada de parada, verifique la presencia de rutas que pasan por esa parada y permita eliminar la entrada solo si no hay ninguna.

Los activadores no aceptan parámetros y no devuelven valores. Se ejecutan implícitamente, es decir, el disparador se activa sólo cuando hay un intento de cambiar los datos.

    1. Procedimientos almacenados

Procedimiento almacenado - es una secuencia de declaraciones Transact-SQL compiladas almacenadas en la base de datos del sistema SQL Server. Los procedimientos almacenados están precompilados, lo que los hace más eficientes que las consultas normales. Los procedimientos almacenados se ejecutan directamente en el servidor y encajan bien en el modelo cliente-servidor.

Hay dos tipos de procedimientos almacenados: sistema y usuario.

Procedimientos almacenados del sistema están diseñados para obtener información de tablas del sistema y realizar diversas operaciones de servicio y son especialmente útiles en la administración de bases de datos. Sus nombres comienzan con sp_ (procedimiento almacenado).

Procedimientos almacenados personalizados creado directamente por desarrolladores o administradores de bases de datos.

La utilidad de los procedimientos almacenados está determinada principalmente por la alta velocidad (en comparación con las consultas T-SQL normales) de su ejecución. Además, son un medio para sistematizar las operaciones realizadas con frecuencia. Al ejecutar un procedimiento almacenado por primera vez, se pueden distinguir una serie de pasos.

    El procedimiento se descompone en componentes individuales mediante un analizador léxico de expresiones.

    Los componentes que hacen referencia a objetos de la base de datos (tablas, índices, vistas, etc.) se asignan a estos objetos, comprobando primero su existencia. Este proceso se llama una vezsolución de enlace.

    La tabla del sistema syscomments almacena el texto fuente del procedimiento y la tabla sysobjects almacena su nombre.

    Se crea un plan preliminar de ejecución de consultas. Este plan preliminar se llama plan normalizado o árbol de consultas y se almacena en la tabla del sistema sysprocedures.

    La primera vez que se ejecuta un procedimiento almacenado, se lee el árbol de consultas y finalmente se optimiza.

Se ejecuta el plan de procedimiento creado previamente.

Este esquema hace posible que las llamadas repetidas eviten perder tiempo analizando, resolviendo enlaces y compilando el árbol de consultas. Y en llamadas posteriores, solo se realiza el quinto paso. Además, el plan del procedimiento almacenado después de la primera ejecución está contenido en la caché de procedimientos de alta velocidad. Esto significa que durante una llamada de procedimiento la velocidad de lectura será muy alta.

El uso de procedimientos almacenados tiene una serie de ventajas adicionales.

1. Los procedimientos almacenados le permiten separar reglas en una estructura separada. Luego, muchas aplicaciones utilizan estas reglas para formar una interfaz de datos tolerante a errores. La ventaja de este enfoque es que puede cambiar las reglas sólo para una parte separada de los objetos de la base de datos y no para todas sus aplicaciones.

2. El uso de procedimientos almacenados mejora significativamente el rendimiento de las consultas, pero el mayor aumento se logra al realizar operaciones repetitivas cuando el plan de consulta se almacena constantemente en la memoria caché del sistema.

3. Los procedimientos almacenados pueden aceptar argumentos cuando se ejecutan y devolver valores (como conjuntos de resultados).

4. Los procedimientos almacenados se pueden ejecutar según una programación (en modo de ejecución automática) especificada cuando se inicia SQL Server.

5. Los procedimientos almacenados se utilizan para recuperar o modificar datos en cualquier momento.

6. Los procedimientos almacenados, a diferencia de los desencadenadores, se llaman explícitamente. Es decir, al acceder directamente a un procedimiento desde una aplicación, script, paquete o tarea.

Los procedimientos almacenados son una poderosa herramienta de procesamiento de datos. Los procedimientos almacenados del sistema juegan un papel muy importante en la administración y el mantenimiento de la base de datos. Los procedimientos almacenados personalizados se utilizan para resolver casi cualquier problema. Además, a un usuario se le puede otorgar el derecho de ejecutar un procedimiento almacenado incluso si no tiene derechos de acceso a los objetos a los que accede el procedimiento.

Envíos

Eliminación

Cambiar el nombre

Cambiar

Gestión de procedimientos almacenados

Para cambiar un procedimiento existente, utilice la instrucción ALTER PROC; los parámetros de este comando son similares a los parámetros del comando para crear un procedimiento.

Para hacer esto, necesita utilizar un procedimiento almacenado del sistema especial:

Para eliminar un procedimiento almacenado, utilice el comando Transact‑SQL:

DROP PROC Nombre del procedimiento.

Actuación(Ver) es otro objeto que conforma la estructura lógica de cualquier base de datos. La vista del usuario final parece una tabla, pero no contiene datos, solo los representa. Los datos representados físicamente se encuentran en varias tablas de bases de datos.

La vista se implementa como una consulta guardada, a partir de la cual se realiza una selección entre varias tablas de la base de datos.

Las vistas tienen los siguientes beneficios:

· garantizar la confidencialidad de la información, porque permitirle mostrar solo la información necesaria, ocultando ciertos campos;

· simplificar la presentación de datos, porque el usuario trabaja con la vista como una sola tabla, que se crea en función de la selección de datos de varias tablas;

· administrar los derechos de acceso a datos, por ejemplo, en lugar de otorgar permisos para ejecutar consultas en ciertos campos de la tabla, es más fácil permitir que las consultas se ejecuten a través de una vista.

MS SQL Server proporciona varias formas de crear vistas: usando herramientas Transact-SQL y en la utilidad de administración Estudio de gestión.

Para crear una vista, use el comando CREAR VISTA y los miembros del rol tienen derecho a ejecutarla. administrador de sistemas, db_owner, db_dlladmin:

CREAR VISTA Nombre de vista [(campo [,...n])]

Muestras de consulta

Cuando se especifica VerNombre es necesario cumplir con las reglas previamente definidas para nombrar objetos; además, este nombre no debe coincidir con el nombre de una tabla existente en la base de datos. Parámetro CON CIFRADO define el cifrado del código de solicitud y garantiza que los usuarios no puedan verlo ni utilizarlo.

Muestras de consulta es una declaración SELECT cuyos parámetros determinan el contenido de la vista. Los nombres de los campos de visualización se especifican mediante alias en la instrucción de selección o se especifican en un parámetro campo.

Por ejemplo, creemos una vista que contenga solo la siguiente información sobre los empleados de la empresa. AventuraObras , tales como: puesto e inicio de sesión del empleado, fecha de nacimiento.

CREAR VER InfoEmpleados ([Número], [Apellido], [Fecha de nacimiento]) COMO

SELECCIONE BusinessEntityID, Título del trabajo + "(" + ID de inicio de sesión + ")",

CONVERTIR (char(10), fecha de nacimiento, 104)

DE Recursos Humanos.Empleado

Para ver el contenido de la proyección se ejecuta la siguiente consulta:

SELECCIONAR * DE InfoEmpleados

Al utilizar esta vista, el acceso a algunos campos de la tabla fuente es limitado Empleado, en este caso dicen que la tabla está superpuesta filtro vertical, es decir. El acceso a algunos campos de la tabla está limitado sin protección a nivel de columna.

Si se define una condición para seleccionar registros en el código de consulta de selección, entonces se dice que la tabla está sujeta a filtro horizontal. Por ejemplo, la siguiente vista brinda acceso a información sobre fabricantes que tienen servicios en línea para ordenar un producto:

CREAR VISTA Proveedores en línea

DE Compras.Vendedor

DONDE PurchasingWebServiceURL NO ES NULO

Se puede especificar un comando SELECT de cualquier complejidad en una solicitud de selección, pero está prohibido utilizar secciones ORDEN POR, que luego se puede utilizar al recuperar datos de la vista creada. También se recomienda crear vistas basadas únicamente en tablas que tengan una combinación interna.

Por ejemplo, creemos una vista que muestre el coste total de cada pedido, indicando el cliente y su número:

CREAR VER Órdenes de información

SELECCIONE Nombre + " " + Apellido como [Nombre de la empresa],

SalesOrderHeader.SalesOrderID como [Número de pedido],

Convertir (dinero, suma(PrecioUnitario*CantidadPedido*(1-DescuentoPrecioUnitario)),0) como [Total]

DESDE (Persona.Contacto INNER JOIN Ventas.SalesOrderHeader

EN Contacto.ContactID=SalesOrderHeader.ContactID)

UNIÓN INTERNA Sales.SalesOrderDetail

ON SalesOrderHeader.SalesOrderID=SalesOrderDetail.SalesOrderID

GRUPO POR SalesOrderHeader.SalesOrderID, Nombre + " " + Apellido

Tenga en cuenta que el uso de vistas no mejora el rendimiento. Llamar a una vista hace que se ejecute su código interno, por lo que, en el mejor de los casos, la vista NO reducirá el rendimiento de la base de datos.




Arriba