斯潘8
斯潘4
当写入Oracle表并在insert语句中使用序列时,SQL DML语句如下所示:
插入表1(ID,迈亚特1,myatt2)值(id_seq.nextval,“测试”,“测试2”);
这将为该属性分配序列的下一个值。
在FME中,Oracle空间和非空间编写器有一个称为“排序表列”的特征类型格式参数。通过输入列名和序列名对,可以将不同的列分配给不同的序列,如下所示:
第1列:seqname1;第2列:seqname2;…
为了搞笑,你也可以让FME为你创建序列…通过输入上述列/序列名对并让FME为您创建表(将格式参数“table handling”设置为“create if needed”),当FME写入数据库时将创建序列。
注:
在这种情况下,请确保仔细处理序列名。如果输入的序列与要写入的架构中的序列名不匹配,FME将创建它…所以你不会得到你期望的价值。在这种情况下,即使表格确实存在,FME也会为您创建序列。显然,如果序列已经存在,那么,如果您不熟悉数据库,那么FME将利用它来检查您正在为现有序列编写的数据库模式。
如果要在另一个架构中使用序列,则必须在列序列名对中使用该架构。
第1列:架构1.seqname1
即使序列的同义词存在,除非您包含模式名,否则FME也不会与正确的序列相关。
要使用SQL Plus检查现有序列,并以架构所有者身份登录,您需要写入以运行:
选择序列名称,最后一个号码,最大值,从用户序列递增;
这将返回该模式中存在的序列。如果您正在查询另一个模式,您可能希望使用所有的序列表并包括序列所有者列。
你可以用sqlCreator/sqlExecutor使用现有序列号的变压器。
例如。要获取序列中的下一个序列号,请使用适当的SQL语句
从Dual中选择id_seq.nextval作为startid
这将返回StartID的值,然后可以使用属性Exposer用于变压器,如计数器或属性设置者。
通过使用SQL语句来执行翻译前后的设置,可以操作Oracle序列值。在这里,您可以发出SQL命令,在工作区期间关闭排序,并在工作区完成后重新打开排序。有时,如果要在工作区内手动管理序列号,则需要执行此操作。
?2019安全亚搏在线软件公司|合法的