首先创建一个结构表如下(表名:aaaa)
姓名  varchar  50
性名  varchar  50在企业管理器中生SQL脚本如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[aaaa]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[aaaa]
GO
CREATE TABLE [dbo].[aaaa] (
 [姓名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [性名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO后来我增加了一个字段,如学历(text 16),保存后再次生成脚本如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[aaaa]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[aaaa]
GO
CREATE TABLE [dbo].[aaaa] (
 [姓名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [性名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [学历] [text] COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
注意该脚本中多了TEXTIMAGE_ON [PRIMARY]现在如果将学历字段删除了,也就是将text类型的字段删除了,再生成脚本如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[aaaa]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[aaaa]
GO
CREATE TABLE [dbo].[aaaa] (
 [姓名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [性名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO此时实际表结构中已经不含有text或image类型的字段了,而脚本中却含有ON [PRIMARY] TEXTIMAGE_ON [PRIMARY],如果此时执行此脚本会报错,
服务器: 消息 1709,级别 16,状态 1,行 1
当表中没有 text、ntext 或 image 列时,无法使用 TEXTIMAGE_ON。
而实际上我的表中已没有text、ntext 或 image类型的字段了。
望高手门指点迷津!!!