已知一个视图有两张基表:
CREATE TABLE T_test_A
( ID int IDENTITY(1,1),
Name varchar(50)
)CREATE TABLE T_test_B
(
ID int,
Name varchar(50)
)
其中T_test_A 含有identity 列,新建视图
create view T_test_View
as
select a.ID,b.Name
from T_test_A a,T_test_B b
where a.Name=b.Namesp_help T_test_View 发现视图 identity:No identity column defined.只是为什么?
我做了些测试发现,如果视图只有一个基表,且这个基表有identity列,则对应的视图也有identity列,但是如果视图含有两个或两个以上基表,无论基表是否都含identity列,对应的视图都没identity,这又是为什么呢?如何让有两个基表的视图也有identity列呢?
CREATE TABLE T_test_A
( ID int IDENTITY(1,1),
Name varchar(50)
)CREATE TABLE T_test_B
(
ID int,
Name varchar(50)
)
其中T_test_A 含有identity 列,新建视图
create view T_test_View
as
select a.ID,b.Name
from T_test_A a,T_test_B b
where a.Name=b.Namesp_help T_test_View 发现视图 identity:No identity column defined.只是为什么?
我做了些测试发现,如果视图只有一个基表,且这个基表有identity列,则对应的视图也有identity列,但是如果视图含有两个或两个以上基表,无论基表是否都含identity列,对应的视图都没identity,这又是为什么呢?如何让有两个基表的视图也有identity列呢?
解决方案 »
- 大家帮我看下这个问题
- select * from userinfo where dateadd(day,1,shengri)='1981-4-24 00:00:00.00' dateadd函数返回一个datetime类型
- 为什么我的数据库下面没有存储(storage)这个文件夹
- 安装SQLserver的问题,请大侠们帮帮忙?
- 我想选出 从第10条记录到第100条记录应怎么写阿
- 随机抽取N条记录出现问题
- 我这个SQL语句能求出第二个表的数据吗
- 存储过程的高级问题,如何处理?
- Select结果集的顺序问题?
- 请教Access数据库的问题
- sql server 中如何获取表的当前行所在的行数,谢谢
- 2张数据库表如何用视图的方法连接起来?
AS
SELECT fid=ROW_NUMBER() OVER (ORDER BY dbo.tb1.str2), dbo.tb1.*, dbo.tb2.str2 AS Expr1, dbo.tb2.str3 AS Expr2
FROM dbo.tb1 INNER JOIN
dbo.tb2 ON dbo.tb1.str2 = dbo.tb2.str1
select MAX(IDENTITYCOL) from T_test_View 是PB自动生成的,所以只能改写视图了。
create view T_test_View
as
select a.ID,b.Name
from T_test_A a,T_test_B b
where a.Name=b.Name
我要的操作是:select MAX(IDENTITYCOL) from T_test_View,会报错:Invalid column name 'identitycol'。。现在的问题是如何能让这句select MAX(IDENTITYCOL) from T_test_View 能执行成功。你可以修改试图,或者建其它表。
select MAX(ID) from T_test_View
在SQL SERVER 2000中使用 INSERT INTO VIEW 。。的方法也没有问题
但在PB中使用DW来插入数据就有提示 INVALID COLUMN NAME ‘IDENTITYCOL’