, . :
sysdepends , "dbo.nonexistenttable". .
- , , , . , , .
SQL Server , , . , , sp_depends sp_MSdependencies, , .
, -, :
CREATE PROCEDURE usp_Broken
AS
DECLARE @sql nvarchar(4000)
SET @sql = N'SELECT * FROM NonExistentTable'
EXEC sp_executesql @sql
"FROM xxx", :
CREATE PROCEDURE usp_Broken2
AS
SELECT *
FROM
NonExistentTable
.
SET FMTONLY ON, , , "" . . , :
CREATE PROCEDURE usp_Broken3
AS
DECLARE @TableName sysname
SELECT @TableName = Name
FROM SomeTable
WHERE ID = 1
DECLARE @sql nvarchar(4000)
SET @sql = N'SELECT * FROM ' + @TableName
EXEC sp_executesql @sql
, SomeTable ID = 1, Name, - . , SET FMTONLY ON/OFF.
, FMTONLY ON , IF/THEN/ELSE, , .
- , :
BEGIN TRAN
BEGIN TRY
EXEC usp_Broken
END TRY
BEGIN CATCH
PRINT 'Error'
END CATCH
ROLLBACK
script , ( CATCH) . , , IDENTITY, (). -, .
, 50- .