Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проверка на синтаксиса на всички съхранени процедури?

Можете също да направите това "на място" - без да получавате всички оператори за създаване.

В допълнение към настройката NOEXEC ON , ще трябва също да зададете любимия си SHOWPLAN_* ON (Използвам SHOWPLAN_TEXT ). Сега можете да се отървете от стъпка 2 и просто да изпълните всяка процедура, която сте извлекли в стъпка 1.

Ето пример, използващ индивидуална съхранена процедура. Можете да го включите в любимия си цикъл:

create procedure tests @bob int as 
select * from missing_table_or_view
go 

set showplan_text on; 
go 

set noexec on 

exec tests 

set noexec off
go 
set showplan_text off; 
go 
drop procedure tests 
go

Примерът по-горе трябва да генерира следния резултат:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Получаване на последно срещане на поле срещу всеки ред

  2. Тригер за история на таблици в SQL Server?

  3. Каква е употребата на квадратните скоби [] в sql операторите?

  4. Как да чета множество набори от резултати, върнати от съхранена процедура на SQL Server в R

  5. Какъв е редът на изпълнение за този SQL оператор