Comprendo que esto es una pregunta muy similar a Stop SSMS from scripting SPs using sp_executesql?cómo dejar de SSMS 2012 del SP de secuencias de comandos utilizando sp_executesql
Sin embargo, parece que han cambiado el comportamiento con SSMS 2012.
Si usted tiene la 'Comprobar opción existencia' de seleccionados, como en:
... ahora genera un SI NO EXISTE para el proc a punto de ser creado, , así como un I F existe para el proc caída anterior, si, como de costumbre, selecciono la gota y la opción Crear:
Esto obliga a la secuencia de comandos crea mediante sp_executesql. No tiene sentido, ya que no necesita la verificación IF NOT EXISTS en el CREATE, si el DROP acaba de soltarlo.
Parece imposible tener uno sin el otro.
¿Alguna idea?
Gracias por esto, lo sospeché. Lo que realmente quiero es una opción tanto para IF EXISTS como IF IF EXISTS. Por el momento, puedo ignorar el error DROP, pero estos scripts se ejecutan mediante un proceso automático, y en algún momento necesitaré analizar los registros del script para verificar si hay errores. Parece que hicieron uno de sus pasos retrógrados con este cambio. – ChrisA
Se actualizó la redacción (que podría ser en parte mi culpa). Consulte http://connect.microsoft.com/SQLServer/feedback/details/624075/include-if-not-exists-clause-impacts-drop-scripting http://connect.microsoft.com/SQLServer/feedback/details/ 242799/ssms-certain-scripting-options-yield-dynamic-sql y https://connect.microsoft.com/SQLServer/feedback/details/242795/ssms-certain-scripting-options-do-not-work-for- modificar –
Sí, no me molesta la redacción. Es el hecho de que si quiero IF EXISTS (para evitar el error DROP), también me veo forzado a tener IF IF EXISTS en la creación, lo que a su vez fuerza a create a ser un argumento para sp_executesql, que también utilizo 't desea, ya que cualquier error tipográfico inadvertido no generará errores obvios. Antes todo estaba bien - el IF EXISTS estaba allí por defecto, y no tenía activado IF NOT EXISTS. En * no * tener IF existe una opción separada, para mí ahora es peor que con SQL08. – ChrisA