sql >> Databasteknik >  >> RDS >> Sqlserver

Var lagrar SQL Server den lagrade procedurkoden?

Använd sys.sql_modules eftersom definition är nvarchar(max) eftersom det inte kommer att trunkera lång kod.

I INFORMATION_SCHEMA.ROUTINES ROUTINE_DEFINITION kolumnen är bara nvarchar(4000) så om du försöker se texten i en lång procedur så ser du att den är trunkerad.

Använd detta för att söka efter text i valfri procedur, vy, funktion:

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 

använd detta för att se texten för en given procedur, vy, funktion:

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


  1. Golang Infoga NULL i sql istället för tom sträng

  2. Uppdaterar kolumnen till standardvärdet med SQLAlchemy

  3. Hur kan jag få det autoinkrementerade id:t när jag infogar en post i en tabell via jdbctemplate

  4. Jag kan inte få mitt inloggningsformulär att ansluta interagera korrekt med mySQL-databasen