Create Procedure Statement Problem

Grayson

Grünschnabel
Hi,

ich versuche gerade mit dem SQL-Query-Analyzer, das folgende Create Procedure Statement auszuführen.

Code:
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='Table_Exists')
//ohne das IF NOT EXISTS funktioniert es, aber ich brauche eine Exists-Abfrage
CREATE PROCEDURE Table_Exists
@Id nvarchar(40)
AS
IF (OBJECT_ID(@Id)) IS NULL
     RETURN 1
 ELSE
     RETURN 0

Ich bekomme immer den Fehler "Falsche Syntax in der Nähe des PROCEDURE-Schlüsselwortes.". Aber ich kann da keinen Fehler entdecken. Hoffe irgendjemand kann mir weiterhelfen.

DB: MS SQL SERVER 2000

Gruß Grayson
 
Zuletzt bearbeitet:
Hi,

CREATE PROCEDURE muss das erste Statement sein. Also habe ich das Problem wie folgt gelöst:

Code:
IF NOT EXISTS (SELECT * FROM sysobjects WHERE id=Object_id(N'Table_Exists') and Objectproperty(id,N'Isprocedure') = 1)
begin
DECLARE @sql varchar(8000)
SET @sql = '
CREATE PROCEDURE Table_Exists
@Id nvarchar(40)
AS
IF (OBJECT_ID(@Id)) IS NULL
     RETURN 1
 ELSE
     RETURN 0'
EXEC(@sql)
end

Gruß Grayson
 
Zurück