Как удалить view sql
Удаляет представление SQL из текущей базы данных.
DELETE VIEW ViewName
Параметры:
ViewName
Задает имя представления, удаляемого из текущей базы данных.
Комментарии:
Чтобы создать представление SQL и добавить его в текущую базу данных, пользуйтесь командой CREATE SQL VIEW. Если открыть представление SQL, а затем удалить его, курсоры, содержащие результаты представления SQL, не закроются.
Команда DELETE VIEW требует эксклюзивного использования базы данных. Чтобы открыть базу данных для эксклюзивного использования, вставьте EXCLUSIVE в OPEN DATABASE.
* В следующем примере открывается база данных testdata. Команда * CREATE SQL VIEW используется для создания локального представления * SQL myview. Отображается конструктор представлений, где вы можете * задать таблицы и условия для данного представления SQL. После того * как вы сохраните представление SQL, выдается команда DISPLAY * DATABASE, отображающая информацию об этом представлении SQL. * Затем вновь используется команда DELETE VIEW, чтобы удалить * локальное представление SQL myview. CLOSE DATABASES OPEN DATABASE (SYS(2004) + 'samples\data\testdata') CREATE SQL VIEW myview CLEAR DISPLAY DATABASE DELETE VIEW myview
SQL Server DROP VIEW
Summary: in this tutorial, you will learn how to use the SQL Server DROP VIEW statement to remove an existing view.
To remove a view from a database, you use the DROP VIEW statement as follows:
DROP VIEW [IF EXISTS] schema_name.view_name; Code language: SQL (Structured Query Language) (sql)
In this syntax, you specify the name of the view that you want to drop after the DROP VIEW keywords. If the view belongs to a schema, you must also explicitly specify the name of the schema to which the view belongs.
If you attempt to remove a view that does not exist, SQL Server will issue an error. The IF EXISTS clause prevents an error from occurring when you delete a view that does not exist.
To remove multiple views, you use the following syntax:
DROP VIEW [IF EXISTS] schema_name.view_name1, schema_name.view_name2, . ; Code language: SQL (Structured Query Language) (sql)
In this syntax, the views are separated by commas.
Note that when you drop a view, SQL Server removes all permissions for the view.
SQL Server DROP VIEW examples
We will use the sales.daily_sales and sales.staff_sales views created in the CREATE VIEW tutorial for the demonstration.
Removing one view example
The following example shows how to drop the sales.daily_sales view from the sample database:
DROP VIEW IF EXISTS sales.daily_sales; Code language: SQL (Structured Query Language) (sql)
Removing multiple views example
The following statement creates a view named product_catalogs for demonstration purpose:
CREATE VIEW sales.product_catalog AS SELECT product_name, category_name, brand_name, list_price FROM production.products p INNER JOIN production.categories c ON c.category_id = p.category_id INNER JOIN production.brands b ON b.brand_id = p.brand_id; Code language: SQL (Structured Query Language) (sql)
The following statement removes both sales.staff_sales and sales.product_catalog views at the same time:
DROP VIEW IF EXISTS sales.staff_sales, sales.product_catalogs; Code language: SQL (Structured Query Language) (sql)
In this tutorial, you have learned how to use the SQL Server DROP VIEW statement to remove one or more views from the database.
DROP VIEW (Transact-SQL)
Удаляет одно или несколько представлений из текущей базы данных. Инструкцию DROP VIEW можно выполнять для индексированных представлений.
Синтаксис
-- Syntax for SQL Server and Azure SQL Database DROP VIEW [ IF EXISTS ] [ schema_name . ] view_name [ . n ] [ ; ]
-- Syntax for Azure Synapse Analytics and Microsoft Fabric DROP VIEW [ IF EXISTS ] [ schema_name . ] view_name [ ; ]
-- Syntax for Parallel Data Warehouse DROP VIEW [ schema_name . ] view_name [ ; ]
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
IF EXISTS
Область применения: SQL Server (SQL Server 2016 (13.x) до текущей версии, База данных SQL).
Условное удаление представления только в том случае, если оно уже существует.
schema_name
Имя схемы, которой принадлежит представление.
view_name
Имя удаляемого представления.
Замечания
При удалении представления из системного каталога удаляется его определение и другие сведения о нем. Все связанные с представлением разрешения также удаляются.
Любое представление таблицы, удаленной с помощью инструкции DROP TABLE, нужно удалять явно, с помощью инструкции DROP VIEW.
При применении инструкции DROP VIEW к индексированному представлению автоматически удаляются все индексы представления. Чтобы отобразить все индексы представления, используйте хранимую процедуру sp_helpindex.
При запросе через представление ядро СУБД проверка, чтобы убедиться, что все объекты базы данных, на которые ссылается инструкция, существуют, и что они допустимы в контексте инструкции, и что инструкции изменения данных не нарушают правила целостности данных. Если проверка завершается ошибкой, возвращается сообщение об ошибке. При успешной проверке операция преобразуется в операцию над базовой таблицей или таблицами. Если с момента создания представления изменились базовые таблицы или представления, может быть целесообразным удаление представления и его повторное создание.
Дополнительные сведения об определении зависимостей для конкретных представлений см. в разделе sys.sql_dependencies (Transact-SQL).
Дополнительные сведения о просмотре текста представления см. в разделе sp_helptext (Transact-SQL).
Разрешения
Необходимо разрешение CONTROL на представление, разрешение ALTER на схему, содержащую представление, либо членство в предопределенной роли сервера db_ddladmin.
Примеры
А. Удаление представления
В следующем примере удаляется представление Reorder .
DROP VIEW IF EXISTS dbo.Reorder ; GO
Удаление представлений
Требует либо разрешения CONTROL для схемы SCHEMA, либо разрешения CONTROL для объекта OBJECT.
Использование среды SQL Server Management Studio
- В обозревателе объектовразверните базу данных, в которой содержится представление, подлежащее удалению, а затем разверните папку Представления .
- Щелкните правой кнопкой мыши представление, которое нужно удалить, и нажмите кнопку «Удалить«.
- В диалоговом окне «Удалить объект» нажмите кнопку «ОК«.
Внимание Выберите «Показать зависимости» в диалоговом окне «Удалить объект«, чтобы открыть диалоговое окно view_name зависимостей. При этом будут отображены все объекты, зависящие от представления, и все объекты, от которых зависит представление.
Использование Transact-SQL
- В обозревателе объектов подключитесь к экземпляру ядра СУБД.
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В примере указанное представление удаляется только в том случае, если оно существует.
USE AdventureWorks2022; GO IF OBJECT_ID('HumanResources.EmployeeHireDate', 'V') IS NOT NULL DROP VIEW HumanResources.EmployeeHireDate; GO
Вы также можете использовать синтаксис, представленный IF EXISTS в SQL Server 2016 (13.x):
USE AdventureWorks2022; GO DROP VIEW IF EXISTS HumanResources.EmployeeHireDate; GO
