SQL Befehl für SQL 2000 und SQL 2005

13/09/2007 - 15:32 von Andre Grumbach | Report spam
Hallo zusammen,
ich versuche gerade aus einer Datenbank eine Prozedur zu entfernen.

Den Script dazu habe ich auch bereits, jedoch ist meine Problem, dass es
unterschiede zweischen SQL 2000 und SQL 2005 gibt.

Wie kann ich es anstellen, dass der Aufruf für das entsprechende System ist?

Hier die beiden Abfragen:
SQL 2000:
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[udsp_GetInheritanceFields]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[udsp_GetInheritanceFields]

SQL 2005:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[udsp_GetInheritanceFields]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[udsp_GetInheritanceFields]

Danke schon einmal,
Andre
 

Lesen sie die antworten

#1 Christa Kurschat
13/09/2007 - 16:22 | Warnen spam
Hallo Andre,

Andre Grumbach schrieb:

Hallo zusammen,
ich versuche gerade aus einer Datenbank eine Prozedur zu
entfernen.

Den Script dazu habe ich auch bereits, jedoch ist meine
Problem, dass es unterschiede zweischen SQL 2000 und SQL 2005
gibt.

Wie kann ich es anstellen, dass der Aufruf für das
entsprechende System ist?

Hier die beiden Abfragen:
SQL 2000:
if exists (select * from dbo.sysobjects where id > object_id(N'[dbo].[udsp_GetInheritanceFields]') and
OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[udsp_GetInheritanceFields]

SQL 2005:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id > OBJECT_ID(N'[dbo].[udsp_GetInheritanceFields]') AND type in
(N'P', N'PC')) DROP PROCEDURE [dbo].[udsp_GetInheritanceFields]




versuch's so:
if Object_ID('dbo.udsp_GetInheritanceFields') is not null
DROP PROCEDURE [dbo].[udsp_GetInheritanceFields]

Das funktioniert hier wie da.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.de
Suchen in den Newsgroups:
http://groups.google.de/advanced_gr...p;ie=UTF-8

Ähnliche fragen