Saturday, 27 January 2024

Dynamically Select, Insert, Update, Delete In Sql Server

 DECLARE

@TYPE VARCHAR(50)='',

@TABLENAME VARCHAR(100)=NULL,

@FIELDS VARCHAR(max)='',

@CRITERIA VARCHAR(max)=NULL

 BEGIN 

DECLARE @QUERY VARCHAR(8000) 

IF @TYPE='SELECT'

BEGIN

SET @Query=' SELECT ' + CASE WHEN ( @FIELDS <> '' AND @FIELDS IS NOT NULL) THEN @FIELDS ELSE '*' END 

SET @Query=@Query + ' FROM ' 

SET @Query=@Query + @TABLENAME 

SET @Query=@Query + ' WHERE 1 = 1 ' 

SET @Query=@Query + CASE WHEN (@CRITERIA <> '' AND @CRITERIA IS NOT NULL) THEN @CRITERIA ELSE '' END 

EXEC(@Query)

END

IF @TYPE='INSERT'

BEGIN

SET @Query = 'INSERT INTO '+ @TABLENAME + ' (' + @FIELDS + ') VALUES (' + @CRITERIA + ')'  

EXEC(@Query)

END

IF @TYPE='UPDATE'

BEGIN

SET @QUERY = '

UPDATE ' + @TABLENAME + ' 

SET ' + @FIELDS + ' 

WHERE 1 = 1 ' + @CRITERIA 

EXEC(@QUERY)

END

IF @TYPE='DELETE'

BEGIN

    SET @QUERY = ' DELETE FROM ' + @TABLENAME + ' WHERE 1 = 1 ' + @CRITERIA

EXEC(@QUERY)

END

 END

   

GO


No comments:

Post a Comment