通过按级别选择双级连接级别< 10 在Oracle中我可以生成整数的子查询并将其转换为另一个序列。
Sybase可以实现吗?
PS 我想查找表中没有数据的日期(缺少天数)。在Oracle中,我这样做:
select to_date('2012-01-01', 'yyyy-mm-dd')+level-1 from dual
connect by level < to_date('2013-01-01', 'yyyy-mm-dd') - to_date('2012-01-01', 'yyyy-mm-dd')
MINUS
select distinct date from TBL
where date between to_date('2012-01-01', 'yyyy-mm-dd')
and to_date('2013-01-01', 'yyyy-mm-dd')
在Sybase模拟中 MINUS 是:
select whatever from table1 T1
where not exists
( select 1 from table2 where id = T1.id )
但我不知道模拟按级别连接 ......
UPDATE 有没有办法在Sybase中创建临时表而不实际将数据存储到磁盘?
答案 0 :(得分:4)
您使用的Oracle语法是用作行生成器的分层查询。 Sybase有sa_rowgenerator系统过程可用于在起始值和结束值之间生成一组整数。
以下将生成1到255之间的整数列。
SELECT row_num FROM sa_rowgenerator( 1, 255 );
答案 1 :(得分:1)
sa_rowgenerator系统过程需要DBA权限。必须为没有DBA权限的用户授予运行存储过程的EXECUTE权限。