批量将一个库里的所有表里的char改成nchar类型

转载 2008年04月27日 17:29:00
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
/*--将所有的表中,数值类型char,varchar改为nchar,nvarchar的存储过程--*/ 
 
/*--调用示例: 
        exec p_set 
--*/ 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_set]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) 
drop procedure [dbo].[p_set] 
GO  
 
create procedure p_set 
as 
declare tb cursor for 
SELECT sql='alter table ['+d.name 
        +'] alter column ['+a.name+'] n' 
        +b.name+'('+cast(a.length*2 as varchar)+')' 
FROM syscolumns a 
        left join systypes b on a.xtype=b.xusertype 
        inner join sysobjects d on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties' 
where  
        b.name in('char','varchar') 
        and  
        not exists(SELECT 1 FROM sysobjects where xtype='PK' and name in ( 
                SELECT name FROM sysindexes WHERE indid in( 
                        SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid 
                )))                --主键不能修改 
order by d.name,a.name 
 
declare @sql varchar(1000) 
open tb 
fetch next from tb into @sql 
while @@fetch_status = 0 
begin 
        exec(@sql) 
        fetch next from tb into @sql 
end 
close tb 
deallocate tb 
go  

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

深入Javascript数值类型及数学运算(Math)

-
  • 1970年01月01日 08:00

批量将一个库里的所有表里的char改成nchar类型

/*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程--邹建 2004.02(引用请保留此信息)--*/   /*--调用示例:            ...
  • chenzhiya
  • chenzhiya
  • 2008-01-03 15:34:00
  • 158

SQL学习---将所有的char,varchar改为nchar,nvarchar

CREATE PROC p_ToUnicode @type tinyint=0 --修改方式,0=仅查询可修改情况,1=仅所有列可修改时才修改,2=修改可修改列,报告不可修改列 AS SET NOC...
  • liguoming05
  • liguoming05
  • 2013-09-18 15:05:04
  • 1166

数据库中NCHAR 、CHAR等的区别

对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,...
  • tongailing
  • tongailing
  • 2011-04-01 15:58:00
  • 5926

Oracle字符串类型char,nchar,varchar2,nvarchar2区别

网上对于这几个字符串类型的对比文章很多,有些还对比错了。我现在写这篇文章,不是为了批评什么。我只是把书本中看到的知识简单总结出来,再偷偷打上[原创]标签而已... 很多新手可能不知道char和var...
  • laizhenhai88
  • laizhenhai88
  • 2013-11-11 14:19:41
  • 2318

MySQL数据库数据类型(char(n),varchar(n),nchar(n),nvarchar(n)的区别)

在学习这四种数据库类型时,我们可能会有点搞不清他们中的区别,而至于我们会随便使用其中一个,可能某次运行程序出了错误,都不知道是哪里错了,所以我们有必要将这四种的区别弄明白,让我们在编程的时候,避免一些...
  • IUNIQUE
  • IUNIQUE
  • 2016-10-23 15:55:42
  • 1560

char、varchar、nchar、nvarchar四种类型的区别

  • 2011年12月14日 20:30
  • 284KB
  • 下载

char(nchar)与varchar(nvarchar)的区别以及选择

char(或是nchar)与varchar(或是nvarchar)是数据库中最常见的用于存储字符数据的数据类型,由于它们大多...
  • zzzmmmkkk
  • zzzmmmkkk
  • 2009-07-22 12:22:00
  • 1882

数据库中char varchar nchar nvarchar的区别

数据库中char varchar nchar nvarchar的区别           我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择charva...
  • nangeali
  • nangeali
  • 2016-04-12 20:35:07
  • 1748

char(10)和nchar(10)的区别

char支持的是本地默认编码,一般只支持中文和英文还有少部分日语和韩语等。nchar是unicode编码,是兼容世界上几乎所有语言的,当然也支持中文。 nchar占用空间比char大。比如char格式...
  • zmq5411
  • zmq5411
  • 2015-05-05 13:54:24
  • 1234
收藏助手
不良信息举报
您举报文章:批量将一个库里的所有表里的char改成nchar类型
举报原因:
原因补充:

(最多只允许输入30个字)