ALTER PROCEDURE [usp_TableToiBatisXML]
/*
Created by Michael Safro based on Cade Bryant's code.
*/
@table_name SYSNAME,
@model_name VARCHAR(200),
@prefix varchar(10)
AS
SET NOCOUNT ON
DECLARE @temp TABLE
(
sort INT,
code TEXT
)
INSERT INTO @temp SELECT 1,''
-- beginning of sqlMap
INSERT INTO @temp SELECT 2,'
INSERT INTO @temp SELECT 3,'
INSERT INTO @temp SELECT 4,'
INSERT INTO @temp SELECT 5,'
INSERT INTO @temp SELECT 6,'
INSERT INTO @temp SELECT 7,'
INSERT INTO @temp SELECT 8,'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @table_name
ORDER BY ORDINAL_POSITION
INSERT INTO @temp SELECT 9,'
INSERT INTO @temp SELECT 10,'
INSERT INTO @temp SELECT 11,'
-- start of select procedure
INSERT INTO @temp SELECT 12,'
INSERT INTO @temp SELECT 13, @prefix+'_'+@table_name+'_PR'
INSERT INTO @temp SELECT 14, '
-- end of select procedure
-- start of update procedure --
INSERT INTO @temp SELECT 15,'
INSERT INTO @temp SELECT 16, @prefix+'_'+@table_name+'_PU'
INSERT INTO @temp SELECT 17, '
-- end of update procedure --
-- start of insert procedure --
INSERT INTO @temp SELECT 18,'
INSERT INTO @temp SELECT 19, @prefix+'_'+@table_name+'_PI'
INSERT INTO @temp SELECT 20, '
-- end of insert procedure --
-- start of delete procedure --
INSERT INTO @temp SELECT 21,'
INSERT INTO @temp SELECT 22, @prefix+'_'+@table_name+'_PD'
INSERT INTO @temp SELECT 23, '
-- end of delete procedure --
INSERT INTO @temp SELECT 24, '
-- start of parameter maps --
INSERT INTO @temp SELECT 25, '
-- start of ParamSelect --
INSERT INTO @temp SELECT 26, '
INSERT INTO @temp SELECT 27, ' INSERT NECESSARY KEYS '
INSERT INTO @temp SELECT 28, '
-- end of ParamSelect
-- start of ParamUpdate --
INSERT INTO @temp SELECT 29, '
INSERT INTO @temp SELECT 30, '
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @table_name
ORDER BY ORDINAL_POSITION
INSERT INTO @temp SELECT 31, '
-- end of ParamUpdate
-- start of ParamInsert --
INSERT INTO @temp SELECT 32, '
INSERT INTO @temp SELECT 33, '
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @table_name
ORDER BY ORDINAL_POSITION
INSERT INTO @temp SELECT 34, '
-- end of ParamInsert
-- start of ParamSelect --
INSERT INTO @temp SELECT 35, '
INSERT INTO @temp SELECT 36, ' INSERT NECESSARY KEYS '
INSERT INTO @temp SELECT 37, '
-- end of ParamSelect
INSERT INTO @temp SELECT 38, '
INSERT INTO @temp SELECT 39,'
DECLARE @code varchar(8000)
DECLARE TableCol Cursor FOR SELECT code FROM @temp ORDER BY sort
Open TableCol
FETCH NEXT FROM TableCol INTO @code
WHILE @@FETCH_STATUS = 0 BEGIN
PRINT @code + CHAR(13)
FETCH NEXT FROM TableCol INTO @code
END
-- ----------------
-- clean up cursor
-- ----------------
CLOSE TableCol
DEALLOCATE TableCol