sql >> Database >  >> RDS >> Sqlserver

Waar slaat SQL Server de opgeslagen procedurecode op?

Gebruik sys.sql_modules omdat definition is nvarchar(max) omdat het lange code niet afkapt.

In INFORMATION_SCHEMA.ROUTINES de ROUTINE_DEFINITION kolom is alleen nvarchar(4000) dus als u de tekst van een lange procedure probeert te bekijken, zult u zien dat deze wordt afgekapt.

Gebruik dit om naar tekst te zoeken in een procedure, weergave, functie:

SELECT DISTINCT
    o.name AS Object_Name,o.type_desc
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.definition Like '%'[email protected]+'%'
    ORDER BY o.type_desc,o.name 

gebruik dit om de tekst van een bepaalde procedure, weergave, functie te bekijken:

select * from sys.sql_modules where object_id=object_id('YourProcedure')


  1. Kan mysql niet verbinden vanuit vervolg gem

  2. hoe u weet hoeveel rijen worden beïnvloed voordat u een query uitvoert in microsoft sql server 2008

  3. SMO gebruiken om een ​​database en gegevens te kopiëren

  4. Berekening van de gemiddelde voorraadkosten in SQL