回答

收藏

如何在不默认为null的情况下将db object数据类型从varchar更改为nvarchar?

技术问答 技术问答 254 人阅读 | 0 人回复 | 2023-09-12

我有一些表,存储过程和函数使用,varchar但要支持阿拉伯文本,我需要把它改成nvarchar。我有这个表的脚本) t' w& t3 }5 g8 l
select cmd = 'alter table   c.table_schema   '].['   c.table_name  alter column   c.column_name  nvarchar',* from information_schema.columns c where c.data_type='varchar' order by CHARACTER_MAXIMUM_LENGTH desc使用这种方法,我得到一个查询,可以复制粘贴并执行varchar更改为nvarchar但他们默认不会这样做null列默认为包含null,这是一个/ a3 H0 n& d( \. q1 r3 i
    问题。我需要nullable保留为nullable,将non nullable保留为non nullable。. O2 V7 V: q/ x' F, q8 c8 W& l
接下来的问题是,我必须手动编辑存储过程和函数,以便在必要时进行此更改。脚本是否有一些解决方案可以至少安全地更改参数?$ D7 d3 J- i% H! H6 _. J8 `! ?
请注意,数据库中没有视图,有些varchar声明的大小也是8000。3 r4 c1 w' @0 _! _2 T/ d6 D
请给我一个安全的解决方案。" N4 k: f+ O+ I0 _  {9 d
                                                               
1 Q& m: g+ F0 m) Z  V    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则