SQL Server: Versuch, eine Ansicht in einer gespeicherten Prozedur zu erstellen

Ich versuche, meine Ansicht innerhalb der gespeicherten Prozedur zu erstellen, aber es ist ein Fehler aufgetreten.

Mein Code ist:

    alter PROCEDURE p.Azmoon1 
    AS
    begin
       EXEC ('IF OBJECT_ID (''r.r_Sales01_Requests__Duplicates'', ''V'') IS NOT NULL
            DROP VIEW r.r_Sales01_Requests__Duplicates ;
            go
            create view r.r_Sales01_Requests__Duplicates ( 
             CompanyID
            ,Branch
            ,Year
            ,VoucherType,VoucherNumber
            ,Date_Persian
            ,Row
        ) as
        select 
             CompanyID
            ,Branch
            ,Year
            ,VoucherType,VoucherNumber
            ,Date_Persian
            ,Row
        from t_SalesRequests
        group by CompanyID,Branch,Year,VoucherType,VoucherNumber,Date_Persian,Row
        having count(*)>1

        go

    ')
    end

Wenn ich meine Prozedur wie folgt aufrufe:

execute p.Azmoon1 

Ich habe folgende Fehler erhalten:

Incorrect syntax near 'go'
'CREATE VIEW' muss die erste Anweisung in einem Abfragebatch sein.
Maximaler Wert für gespeicherte Prozedur, Funktion, Trigger oder Ansichtsverschachtelung überschritten (Limit 32).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage