SQL Server 2008的sp_generate_inserts

Nie*_*sma 5 sql-server stored-procedures sql-server-2005 sql-server-2008

我一直在SQL Server 2005数据库中使用Narayana Vyas Kondreddi的优秀存储过程sp_generate_inserts http://vyaskn.tripod.com/code/generate_inserts.txt.

但是在转移到SQL Server 2008后,我得到了奇怪的结果,其中在UNIQUEIDENTIFIER值之后插入了一个长空格:

INSERT INTO [BannerGroups]([Id], [DescriptionText], [Width], [Height]) 
VALUES('BFCD0173-9432-47D1-84DF-8AB3FB40BF76                                                                                                                                                                                                                           ', 'Example', 145, NULL)
Run Code Online (Sandbox Code Playgroud)

有人知道怎么修这个东西吗?

Ada*_*Dev 9

似乎是这一部分,只有一半以下:

WHEN @Data_Type IN ('uniqueidentifier') 
                THEN  
                    'COALESCE('''''''' + REPLACE(CONVERT(char(255),RTRIM(' + @Column_Name + ')),'''''''','''''''''''')+'''''''',''NULL'')'
Run Code Online (Sandbox Code Playgroud)

看到它转换为CHAR(255),这意味着该值被填充为255个字符.将其更改为VARCHAR,它应该没问题,因为它不会用空格填充值.