Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy istnieje sposób na pobranie definicji widoku z SQL Server przy użyciu zwykłego ADO?

Która wersja SQL Server?

W przypadku SQL Server 2005 i nowszych, możesz uzyskać skrypt SQL używany do tworzenia widoku w następujący sposób:

select definition
from sys.objects     o
join sys.sql_modules m on m.object_id = o.object_id
where o.object_id = object_id( 'dbo.MyView')
  and o.type      = 'V'

Zwraca pojedynczy wiersz zawierający skrypt używany do tworzenia/zmiany widoku.

Inne kolumny w tabeli informują o opcjach dostępnych w czasie kompilacji widoku.

Ostrzeżenia

  • Jeśli widok był ostatnio modyfikowany za pomocą ALTER VIEW, skrypt będzie instrukcją ALTER VIEW, a nie instrukcją CREATE VIEW.

  • Skrypt odzwierciedla nazwę tak, jak została stworzona. Jedynym momentem, w którym jest aktualizowany, jest wykonanie ALTER VIEW lub upuszczenie i ponowne utworzenie widoku za pomocą CREATE VIEW. Jeśli zmieniono nazwę widoku (np. przez sp_rename ) lub prawo własności zostało przeniesione do innego schematu, otrzymany skrypt będzie odzwierciedlał oryginalną instrukcję CREATE/ALTER VIEW:nie będzie odzwierciedlać aktualnej nazwy obiektu.

  • Niektóre narzędzia obcinają dane wyjściowe. Na przykład narzędzie wiersza polecenia MS-SQL sqlcmd.exe obcina dane do 255 znaków. Możesz przekazać parametr -y N aby uzyskać wynik za pomocą N znaków.



  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 Server JSON_Modify, Jak zaktualizować wszystko?

  2. Dlaczego EF generuje zapytania SQL z niepotrzebnymi kontrolami wartości null?

  3. Jak wyczyścić dziennik transakcji programu SQL Server?

  4. Dziennik transakcji SQL Server — część 2

  5. Jak zwrócić wynik procedury składowanej do zmiennej w serwerze sql?