关于几种数据库的一些问题,很简单,但是我搞不明白! ( 积分: 20 )

  • 主题发起人 主题发起人 tiger_520
  • 开始时间 开始时间
T

tiger_520

Unregistered / Unconfirmed
GUEST, unregistred user!
1、SQLServer中有test表,字段为nameidentity&nbsp;自增类型&nbsp;主键,name两个字段,忘该表添加记录,然后返回该记录的编号,可以这么写:<br>insert&nbsp;into&nbsp;test(Name)&nbsp;values('test')<br>SELECT&nbsp;@@IDENTITY&nbsp;as&nbsp;AccIdentity<br>但是在ORALCE、DB2中不支持这样的写法,在oralce和DB2下该怎么写SQL语句才能得到SQLServer同样的效果?<br>2、查询异库表:在SQLServer中可以使用select&nbsp;*&nbsp;from&nbsp;database.dbo.表;oracle下是select&nbsp;*&nbsp;from&nbsp;方案名.表名,这个在DB2下该怎么写?<br>一共三个小问题。
 
只有看的没有回答的?就没有一个了解oracle和DB2的?
 
看样子是没有人知道了,偌大的论坛!
 
oracle和db2没有自增字段,使用sequence<br>以oracle为例:<br>SQL&gt;&nbsp;select&nbsp;hr.employees_seq.nextval&nbsp;from&nbsp;dual;<br><br>&nbsp;&nbsp;&nbsp;NEXTVAL<br>----------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;207<br><br>SQL&gt;&nbsp;insert&nbsp;into&nbsp;scott.emp&nbsp;(empno)&nbsp;select&nbsp;hr.employees_seq.nextval&nbsp;from&nbsp;dual;<br><br>1&nbsp;row&nbsp;inserted<br><br>SQL&gt;&nbsp;select&nbsp;*&nbsp;from&nbsp;scott.emp&nbsp;where&nbsp;empno=(select&nbsp;min(empno)&nbsp;from&nbsp;scott.emp);<br><br>EMPNO&nbsp;ENAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JOB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MGR&nbsp;HIREDATE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COMM&nbsp;DEPTNO<br>-----&nbsp;----------&nbsp;---------&nbsp;-----&nbsp;-----------&nbsp;---------&nbsp;---------&nbsp;------<br>&nbsp;&nbsp;208&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>SQL&gt;&nbsp;select&nbsp;hr.employees_seq.currval&nbsp;from&nbsp;dual;<br><br>&nbsp;&nbsp;&nbsp;CURRVAL<br>----------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;208<br><br>注意由于缓存问题,sequence是不连续的<br><br>oracle和db2都使用方案名.表名查询
 
来自:tiger_520,&nbsp;时间:2007-4-6&nbsp;20:45:34,&nbsp;ID:3696384<br>只有看的没有回答的?就没有一个了解oracle和DB2的?&nbsp;&nbsp;<br><br>来自:tiger_520,&nbsp;时间:2007-4-7&nbsp;0:13:53,&nbsp;ID:3696428<br>看样子是没有人知道了,偌大的论坛!&nbsp;&nbsp;<br><br>呵呵,楼主有够搞笑的,问个问题还要用到激将法。难道这年头就没点有诚心的人来问问题么?你要是觉得“偌大的论坛”“没有一个了解oracle和DB2的”那还来问什么东西啊。<br><br>附:<br>ORACLE确实没有自增字段这种东西,要如果硬要实现的话,有两种方式:<br>1。在程序里面控制<br>2。用上面&nbsp;沉香屑&nbsp;提到的sequence配合触发器一起使用也可以实现。<br>DB2我不会。
 
呵呵,楼主还有一个数据没有问到:sybase
 
已经解决了,方法类似沉香屑。谢谢各位。
 
后退
顶部