请问:SQLServer2005下怎么建立含基础表元数据信息的视图,内详

EmeraldSword 2007-02-06 07:00:07
情况如下, 我要建立一个视图V, 包含二个表A,B
A表有记录ID字段, 是自增型的,
建立视图的SQL如下
CREATE View V
AS
SELECT A.RecID, A.Code, B.Code
FROM A JOIN B ON (A.Code = B.Code)


但在程序中SELECT * FROM V WHERE 1=2得到的元数据中的[RecID]这个字段不是自增型的.在SQL2005里面的企业管理器中查看视图的RecID这个字段也不是自增型的.

请问怎么建立视图能够让V.RecID有A.RecID的自增属性.谢谢

...全文
272 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EmeraldSword 2007-02-07
  • 打赏
  • 举报
回复
谢谢,请问还有其他方法吗?
我想要的是原来[RecID]里的数据,还要取基表里[RecID]字段的元数据
用视图的方法,在SQL SERVER 2000 里我可以通过DELPHI查出[RecID]的元数据,判断[RecID]是不是自增型
但我把数据库移植到SQL SERVER 2005后就取不到[RecID]的某些元数据,不能判断[RecID]是不是自增型的,我想看一下是不是有什么方法可以兼容SQL SERVER 2000,SQL SERVER 2005,又能取到基表的数据,又能得到基础表的元数据,特别要取得自增列的元数据
EmeraldSword 2007-02-07
  • 打赏
  • 举报
回复
哦,太谢谢了!
lvloj 2007-02-07
  • 打赏
  • 举报
回复
这是SQLServer2005的BUG, 可以下载相应的补丁解决
下面连接有详细说明:
http://support.microsoft.com/kb/920974/
中国风 2007-02-06
  • 打赏
  • 举报
回复
SELECT [RecID]=ROW_NUMBER () over (order by A.RecID)
, A.Code, B.Code
FROM A JOIN B ON (A.Code = B.Code)
中国风 2007-02-06
  • 打赏
  • 举报
回复
请问怎么建立视图能够让V.RecID有A.RecID的自增属性?
用ROW_NUMBER ()这个函数
如下:
create table ta(id int,name int)
insert ta select 1,2
union all select 1,3

create view test_v
as
select *,row=ROW_NUMBER () over (order by id)
from ta

select * from test_v
id name row
----------- ----------- --------------------
1 2 1
1 3 2

(2 行受影响)

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧