SQL server gespeicherte Prozedur, die kein anderes SP ausführt

Ich habe eine SQL server gespeicherte Prozedur, aber wenn es ausgeführt wird, scheint es nicht, die andere gespeicherte Prozedur auszuführen, die ich anrufen möchte.

Hier ist mein gespeicherter Prozedur Beispiel, können Sie sehen, meine EXEC statement.

Wenn jemand sehen kann, warum das dann nicht funktionieren würde, dann lass es mich wissen! Vielen Dank

 ALTER PROCEDURE [dbo].[AddField] @tablename nvarchar(20), @newfield nvarchar(20), @datatype nvarchar(20), @length nvarchar(20), @displayname nvarchar(20), @tableseq nvarchar(20), @varcharmax nvarchar(20), @SEQ_PARENT nvarchar(20), @FK_MODULE_VIEW nvarchar(20), @FK_MODULE_VAL nvarchar(20) AS BEGIN DECLARE @p_tablename varchar(20), @type varchar(20), @FK_SQL_DATA nvarchar(max), @FK_TABLE_NAME varchar(20), @ALTER_TABLE_SQL nvarchar(max), @ALTER_TABLE_SQL_ADD_FK nvarchar(max), @FIELD_REF_SQL_DATA nvarchar(max) SELECT @p_tablename = TABLENAME FROM SD_TABLES WHERE VIEWNAME = @tablename SET @type = @datatype + @length if @datatype = 'TEST1' BEGIN --SQL HERE END if @datatype = 'TEST2' BEGIN --SQL HERE END if @datatype = 'TEST3' BEGIN --SQL HERE END EXEC SD_CreateAllViewStatements END 

Ich kann an 2 Szenarien denken, warum dies passieren kann:

  1. Das Haupt-Skript, das vor dem SD_CreateAllViewStatements der SD_CreateAllViewStatements stürzt. Sie können die einfache try ... catch Bau, um die SP AddField Absturz zu vermeiden.
  2. Es gibt eine return statement in deinem if ... begin ... end blocks AddField , die entfernt werden müssen (oder das SP AddField muss neu gestaltet werden)

In beiden Fällen ist das Skript grundsätzlich nicht der Aufruf der SD_CreateAllViewStatements . In allen anderen Fällen muss die SP SD_CreateAllViewStatements ausgeführt werden.