获取cx_oracle python中的序列号

获取cx_oracle python中的序列号,python,cx-oracle,Python,Cx Oracle,我试图执行一个insert语句,该语句有一个序号列,但无法确定返回值 当我在不绑定seqvalue的情况下执行下面的语句时,我得到一个错误。当我将seqvalue初始化为0并将其绑定时,输出为0 代码 请提供您的输入。您可以尝试使用bind变量并准备使用与SEQ.nextval相同的oracle方法的语句。 步骤: 使用cx\U Oracle建立数据库连接 从DB连接获取一个游标 声明变量:将被推送到Oracle insert语句中。 例如: var_CHANGES='测试更改' var_注释=

我试图执行一个insert语句,该语句有一个序号列,但无法确定返回值

当我在不绑定seqvalue的情况下执行下面的语句时,我得到一个错误。当我将seqvalue初始化为0并将其绑定时,输出为0

代码


请提供您的输入。

您可以尝试使用bind变量并准备使用与SEQ.nextval相同的oracle方法的语句。 步骤:

  • 使用cx\U Oracle建立数据库连接

  • 从DB连接获取一个游标

  • 声明变量:将被推送到Oracle insert语句中。 例如:

  • var_CHANGES='测试更改' var_注释='Test'

  • 使用下一行字符进行语句,如下例所示:
  • statement=“插入”+“\n”+\
    “转换为更改日志”+“\n”+\
    “(更改日志ID”+“\n”+\
    ,更改类型“+”\n“+\
    ,更改日期“+”\n“+\
    “,注释)”+“\n”+\
    “值”+“\n”+\
    “(更改日志顺序下一步”+“\n”+\
    ,:b更改类型“+”\n“+\
    ,sysdate“+”\n“+\
    
    “,:bCOMMENTS)”
    您可以尝试使用bind变量并准备使用与SEQ.nextval相同的oracle方法的语句。 步骤:

  • 使用cx\U Oracle建立数据库连接

  • 从DB连接获取一个游标

  • 声明变量:将被推送到Oracle insert语句中。 例如:

  • var_CHANGES='测试更改' var_注释='Test'

  • 使用下一行字符进行语句,如下例所示:
  • statement=“插入”+“\n”+\
    “转换为更改日志”+“\n”+\
    “(更改日志ID”+“\n”+\
    ,更改类型“+”\n“+\
    ,更改日期“+”\n“+\
    “,注释)”+“\n”+\
    “值”+“\n”+\
    “(更改日志顺序下一步”+“\n”+\
    ,:b更改类型“+”\n“+\
    ,sysdate“+”\n“+\
    “,:b注意事项)”
  • 在数据库中创建序列: 创建序列my_seq minvalue 1 maxvalue 9999999999以1 nocache noorder nocycle开始递增1

  • 创建Oracle函数以在数据库中生成序列号: 创建或替换功能gen_seq 返回号码 是 序号; 开始

    结束

  • self.emp_id=cur.callfunc('gen_seq',int)

  • 使用self.emp_id作为绑定变量,以便插入到数据库中

  • 毫无疑问。请随便问

  • 在数据库中创建序列: 创建序列my_seq minvalue 1 maxvalue 9999999999以1 nocache noorder nocycle开始递增1

  • 创建Oracle函数以在数据库中生成序列号: 创建或替换功能gen_seq 返回号码 是 序号; 开始

    结束

  • self.emp_id=cur.callfunc('gen_seq',int)

  • 使用self.emp_id作为绑定变量,以便插入到数据库中

  • 毫无疑问。请随便问。

    像这样吗?可能是这样的复制品吗?可能重复的
        col2 = 'test'
        qry=insert into table1 (col1,col2) value (seq1.nextval,:col2) returning col1 into :seqvalue
    
       cur.excute(qry,:col2)
    
      Select my_seq.nextval into seq_value from dual;
      Return seq_value;