Skip to content

Instantly share code, notes, and snippets.

@RickyLin
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RickyLin/fa8459ffe8ab774e0efb to your computer and use it in GitHub Desktop.
Save RickyLin/fa8459ffe8ab774e0efb to your computer and use it in GitHub Desktop.
IF EXISTS ( SELECT 1 FROM sys.procedures WHERE name = 'spGenerateSqlStatement' )
DROP PROCEDURE spGenerateSqlStatement
GO
CREATE PROCEDURE spGenerateSqlStatement
@TableName VARCHAR(256)
AS
-- TEST: spGenerateSqlStatement 'Message'
DECLARE @SqlStmt VARCHAR(MAX)
DECLARE @Fields VARCHAR(MAX)
DECLARE @Params VARCHAR(MAX)
SET @SqlStmt = 'INSERT INTO ' + @TableName + '
('
SET @Fields = ''
SET @Params = ''
SELECT @Fields = @Fields + ', [' + name + ']', @Params = @Params + ', @' + name
FROM sys.columns
WHERE [object_id] = OBJECT_ID(@TableName)
SET @SqlStmt = @SqlStmt + RIGHT(@Fields, LEN(@Fields) - 2) + ')
VALUES
(' + RIGHT(@Params, LEN(@Params) - 2) + ')'
PRINT @SqlStmt
SELECT @SqlStmt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment