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