神秘的dual…… dual这张表是oracle中一行一列的表,dual是不是只有oracle中有,hsql中有没有啊?序列也是不是只有orcle中特有的?hsql中有吗?有对hsql比较了解的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 oracle dual table 不了解hsql dual这张表是oracle中一行一列的表,dual是不是只有oracle中--好像是只有oralce有这个默认表序列也是不是只有orcle中特有的?--这个肯定不是的 数据库都有序列的 --实现列值自动增长,不同的数据库厂家有自己的方法:--oracle sequencecreate sequence SEQ_AUTO_ADDminvalue 1maxvalue 10start with 11increment by 1nocacheorder;--create table t(id_no varchar2(2));declare v_num number;begin for v_num in 1..10 loop insert into t(id_no) values(seq_auto_add.nextval);--首次引用sequence,引用nextval end loop;end;--SQL> select * from t;ID_NO-----12345678910----sql server 中使用了identityIDENTITY (data_type [ , seed , increment ] ) AS column_name 尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。data_type 标识列的数据类型。标识列的有效数据类型可以是任何整数数据类型类别的数据类型(bit 数据类型除外), 也可以是 decimal 数据类型。seed 要分配给表中第一行的整数值。为每一个后续行分配下一个标识值, 该值等于上一个 IDENTITY 值加上 increment 值。 如果既没有指定 seed,也没有指定 increment ,那么它们都默认为 1。increment 要加到表中后续行的 seed 值上的整数值。column_name 将插入到新表中的列的名称eg.create table test(id int identity(1,1),mc varchar(20)) dual是oracle特有的,序列应该各个数据库都是有吧 dual是Oracle特有的,序列各个数据库中都有… 我也一直不明白dual是做什么用的,有时候修改了dual会造成很大的问题。 ---dual这张表是oracle中一行一列的表,dual是不是只有oracle中有,hsql中有没有啊?序列也是不是只有orcle中特有的?hsql中有吗?有对hsql比较了解的吗只有oracle中有dual,hsql中不太了解序列不只是oracle中有,其他数据也有只不过叫法不一样了。 是的。。只有在oracle才正在。。 dual表是oracle为了维持查询的完整性而引入的 , oracle 的查询必须是 select xxx from xxx ;如select sysdate from dual;其他数据库是 直接可以 select getdate(); 这样的。 Dual中可以有多笔记录!但是执行: Delete from dual;之後,Dual中依然有1筆資料。 1.dual表mysql中也有2.支持楼上意见,dual并不是只能有一行,可以往里插数据,可以删除默认值X oracle 查询问题 请问oracle的作业以及作业运行的历史记录存放在哪个表中的? oracle10g 客户端和服务器是不是不能安装在统一台机器上? 请问,下面的SQL 语句执行效率最高,为什么? oracle10g连接拒绝异常 建立了job,运行又出问题了,真是一波三折啊。 误把oracle9数据库的RED001.LOG删除 水晶报表问题。。。。急!!!(这儿人多,不好意思,发到这儿来了) 请教:oc4j启动时出现意外! oracel表空间权限 在新设备Linux下恢复ORACLE的dbf文件 Excel导入Oracle数值问题???
oracle dual table
--好像是只有oralce有这个默认表序列也是不是只有orcle中特有的?
--这个肯定不是的 数据库都有序列的
--实现列值自动增长,不同的数据库厂家有自己的方法:
--oracle sequence
create sequence SEQ_AUTO_ADD
minvalue 1
maxvalue 10
start with 11
increment by 1
nocache
order;
--
create table t(id_no varchar2(2));
declare
v_num number;
begin
for v_num in 1..10
loop
insert into t(id_no)
values(seq_auto_add.nextval);--首次引用sequence,引用nextval
end loop;
end;
--
SQL> select * from t;ID_NO
-----
1
2
3
4
5
6
7
8
9
10
--
--sql server 中使用了identity
IDENTITY (data_type [ , seed , increment ] ) AS column_name
尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。
data_type
标识列的数据类型。标识列的有效数据类型可以是任何整数数据类型类别的数据类型(bit 数据类型除外),
也可以是 decimal 数据类型。
seed
要分配给表中第一行的整数值。为每一个后续行分配下一个标识值,
该值等于上一个 IDENTITY 值加上 increment 值。
如果既没有指定 seed,也没有指定 increment ,那么它们都默认为 1。
increment
要加到表中后续行的 seed 值上的整数值。
column_name
将插入到新表中的列的名称
eg.
create table test(id int identity(1,1),mc varchar(20))
只有oracle中有dual,hsql中不太了解
序列不只是oracle中有,其他数据也有只不过叫法不一样了。
其他数据库是 直接可以 select getdate(); 这样的。
但是执行: Delete from dual;之後,Dual中依然有1筆資料。
2.支持楼上意见,dual并不是只能有一行,可以往里插数据,可以删除默认值X