MSSQL stored procedures, views und functions erstellen

So nachdem ich in letzter Zeit gezwungen wurde wieder ein paar Dinge zu entwickeln verwende ich den Blog jetzt einfach auch mal dafür um SQL Statements für mich abzulegen (braucht man ja alle paar Jahre mal wieder 😉 ). Vielleicht gibts hier im Netz ja noch den einen oder anderen, der genau diese Info auch sucht…

Erstellen einer stored procedure (inkl. löschen wenn diese bereits vorhanden ist):

if exists
  (
  SELECT
    *
  FROM
    dbo.sysobjects
  WHERE
    id = object_id(N'[dbo].[SP_NAME]')
  AND
    OBJECTPROPERTY(id, N'IsProcedure') = 1
  )

DROP PROCEDURE [dbo].[SP_NAME]

GO

CREATE PROCEDURE [dbo].[SP_NAME]

WITH
EXECUTE AS CALLER
AS

...

Erstellen eines views (inkl. löschen wenn dieser bereits vorhanden ist):

if exists
  (
  SELECT
    *
  FROM
    dbo.sysobjects
  WHERE
    id = object_id(N'[dbo].[VIEW_NAME]')
  AND
     OBJECTPROPERTY(id, N'IsView') = 1
  )
DROP VIEW [dbo].[VIEW_NAME]
GO

CREATE VIEW [dbo].[VIEW_NAME]
AS
...

Erstellen einer function (inkl. löschen wenn diese bereits vorhanden ist):

if exists
  (
  SELECT
    *
  FROM
    information_schema.routines
  WHERE
    routine_name = N'FUNKTIONS_NAME'
  AND
    routine_type = 'function'
  ) 

DROP FUNCTION [dbo].[FUNKTIONS_NAME]

GO

CREATE FUNCTION dbo.FUNKTIONS_NAME()
BEGIN
...
END

Grundsätzlich sind die msdn Webseiten zum SQL Server 2008 sehr hilfreich um die genaue Syntax von einzelnen Funktionen zu finden.