CREATE TABLE [dbo].[TABLE1] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] check(b=1) NOT NULL ,
[c] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , primary key(a,b)
)
CREATE TABLE [dbo].[TABLE2] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] check(b=2) NOT NULL ,
[c] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , primary key(a,b)
)create view vvv
as
select * from table1
union all
select * from table2
go
update  vvv set c = '0' where b=1go
drop view vvv
drop table table1,table2

解决方案 »

  1.   

    报错
    服务器: 消息 170,级别 15,状态 1,行 4
    第 4 行: 'COLLATE' 附近有语法错误。
      

  2.   

    删除 COLLATE Chinese_PRC_CI_AS
      

  3.   

    CREATE TABLE [dbo].[TABLE1] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=1) NOT NULL ,
    [c] [char] (10) NULL , primary key(a,b)
    )
    CREATE TABLE [dbo].[TABLE2] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=2) NOT NULL ,
    [c] [char] (10)  NULL , primary key(a,b)
    )
    go
    create view vvv
    as
    select * from table1
    union all
    select * from table2
    go
    update  vvv set c = '0' where b=1go
    drop view vvv
    drop table table1,table2
      

  4.   

    CREATE TABLE [dbo].[TABLE1] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=1) NOT NULL ,
    [c] [char] (10) NULL , primary key(a,b)
    )
    CREATE TABLE [dbo].[TABLE2] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=2) NOT NULL ,
    [c] [char] (10)  NULL , primary key(a,b)
    )
    go
    create view vvv
    as
    select * from table1
    union all
    select * from table2
    go
    update  vvv set c = '0' where b=1go
    drop view vvv
    drop table table1,table2
      

  5.   

    CREATE TABLE [dbo].[TABLE1] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=1) NOT NULL ,
    [c] [char] (10) NULL , primary key(a,b)
    )
    CREATE TABLE [dbo].[TABLE2] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] check(b=2) NOT NULL ,
    [c] [char] (10)  NULL , primary key(a,b)
    )
    go
    create view vvv
    as
    select * from table1
    union all
    select * from table2
    go
    update  vvv set c = '0' where b=1go
    drop view vvv
    drop table table1,table2
      

  6.   

    请教大力老师,如果我的表已建好,如何alter table建立分区列CREATE TABLE [dbo].[TABLE1] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] NOT NULL ,
    [c] [char] (10) NULL , primary key(a,b)
    )
    CREATE TABLE [dbo].[TABLE2] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] NOT NULL ,
    [c] [char] (10)  NULL , primary key(a,b)
    )
      

  7.   

    来晚了:CREATE TABLE [dbo].[TABLE1] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] NOT NULL ,
    [c] [char] (10)
    ) ON [PRIMARY]
    GOCREATE TABLE [dbo].[TABLE2] (
    [a] [int] IDENTITY (1, 1) NOT NULL ,
    [b] [int] NOT NULL ,
    [c] [char] (10) 
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[TABLE1] ADD 
    CONSTRAINT [CK_TABLE1] CHECK ([b] = 1)
    GOALTER TABLE [dbo].[TABLE2] ADD 
    CONSTRAINT [CK_TABLE2] CHECK ([b] = 2)
    GOALTER TABLE [dbo].[TABLE1] ADD 
    CONSTRAINT [PK_TABLE1] PRIMARY KEY  CLUSTERED 
    (
    [a],
    [b]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[TABLE2] ADD 
    CONSTRAINT [PK_TABLE2] PRIMARY KEY  CLUSTERED 
    (
    [a],
    [b]
    )  ON [PRIMARY] 
    GOcreate view vvv
    as
    (select * from table1)
    union all
    (select * from table2)
    go
    update  vvv set c = '0'