• -> Procedure 'Go' will create with alter and and drop statement.

    -> In the last statement procedure will execute.

    -> Execution step :

    i) procedure is altered in order to return NULL value

    ii) then execute the procedure again

    iii) drop the procedure by it self.

    So when procedure executing within it self it will return new alter procedure body which is returning NULL