Ésta es la forma más portátil, menos intrusiva:
select
count(*)
from
INFORMATION_SCHEMA.VIEWS
where
table_name = 'MyView'
and table_schema = 'MySchema'
Editar: Esto funciona en SQL Server, y no requiere que se una a sys.schemas
para obtener el esquema de la vista. Esto es menos importante si todo es dbo
, pero si hace un buen uso de los esquemas, debe tenerlo en cuenta.
Cada RDBMS tiene su propia forma de verificar metadatos como este, pero information_schema
es realmente ANSI, y creo que Oracle y aparentemente SQLite son los únicos que no lo admiten de alguna manera.
Es probable que también quieras unirte a 'sys.schema' aquí. – Eric
Error: nombre de objeto no válido 'sys.views'. Estaba consultando el maestro DB – Steam
Si descubrió esto para decidir entre CREAR y ALTERAR una vista (como yo lo hice), esto no funciona para VIEWs - tiene que DEJAR caer la VISTA * y luego CREARLA. El IF EXISTS todavía funciona bien para DROP the VIEW tho, ¡así que gracias! :) * No olvide los permisos cuando lo haga. ;) – FrostbiteXIII