oracle中的序列问题
首先,我在perl脚本的oracle中创建了一个序列。我得到一个错误的statiing序列已经创建错误。有没有办法重置序列(创建或替换不工作)
create or replace sequence test_seq start with 1900 increment by 1 nomaxvalue
sprintf("INSERT INTO Custodian_New (Loginid,Type, Id, User, TimeCreated, RcNumber) values ('%s',1, %d, '%s', %d, '%s')", seq_name.nextVal,$dd, $Name, time(), $rc_num);
perl脚本中的上述语句打印:序列的'test_seqnextVal'。
所以一个错误
DBD::Oracle::db do failed: ORA-01722: invalid number (DBD ERROR: error possibly near <*>seq_name )occurs.
请告诉我有什么问题?谢谢。
没有找到相关结果
已邀请:
2 个回复
盟犯涩沟都
在
附近有单引号,因此它会尝试将字符串
插入数字字段而不是序列中的值;该字符串无法转换为数字,因此出错。您可以删除单引号:
或者直接嵌入序列,因为似乎没有动态构建它的任何点:
或者甚至更好,使用绑定变量并将其设置为
等。我也使用
而不是传入
,但不知道这是否真的有任何区别。
芜任亮蜡