如何通过查询替换sql server中存储过程中的字符串

时间:2014-04-07 12:25:10

标签: sql-server

我有一个包含以下代码的程序

CREATE PROCEDURE customer_panel_insert(
    @Panel_Name VARCHAR(200),
    @Panel_description VARCHAR(5000),
    @Type_of_change  CHAR(5)) 
AS
   DECLARE @data_set VARCHAR(MAX);
   DECLARE @sql VARCHAR(MAX);

   begin
      set @sql = 'select * from customer_details where panel_type = 1 AND PANEL_DATATYPE = ''VARCHAR'''

      exec @sql 
   END

我想将varchar数据类型更改为nvarchar,将char更改为nchar。将大小超过4000个字符的varchar变量更改为NVARCHAR(MAX)。我想在查询的帮助下进行更改。

是否有任何可以替换的查询

1 个答案:

答案 0 :(得分:-1)

希望这适合你。 执行前请小心

update sys.sql_modules set definition = REPLACE(definition,'VARCHAR(5000)','NVARCHAR(MAX)')
where definition like '%VARCHAR(5000)%'