当前位置: 首页 > 面试题库 >

在Oracle中为varchar2字段创建序列

柯景龙
2023-03-14
问题内容

我想为此varchar创建一个序列。如果用数字而不是varchar会更容易。在这种情况下,我可以

seq_no:= seq_no + 1;

但是,当我想将列中的下一个值存储为A0000002且前一个值为A0000001时(将下一个varchar rowby中的数字增加1),该怎么办?


问题答案:

这可以通过

to_char(seq_no,'FM0000000')

您的示例可以通过在oracle中创建序列来完成

create sequence seq_no  start with 1 increment by 1;

然后

select 'A'||to_char(seq_no.nextval,'FM0000000') from dual;

现在我已经用过双重..但是把这个

'A'||to_char(seq_no.nextval,'FM0000000')

在您需要的查询中..这将创建您提到的序列

sqlfiddle



 类似资料:
  • 问题内容: 我有一个Oracle表,并且column()的类型为。它有一个行的值就是 当我说 甲骨文说号码无效。这是为什么?为什么我不能通过数字? 编辑:所有的答复都是伟大的。谢谢你。但我无法理解为什么它并不需要的时候是有效的VARCHAR2数据类型。 问题答案: 问题在于您希望Oracle将隐式地将1234转换为字符类型。相反,Oracle将列隐式转换为数字。列中有一个非数字值,因此Oracle

  • 主要内容:Oracle VARCHAR2数据类型简介,Oracle VARCHAR2最大长度,Oracle VARCHAR2的例子在本教程中将学习Oracle 数据类型以及如何使用它来定义可变长度的字符串列。 Oracle VARCHAR2数据类型简介 要存储可变长度的字符串,可以使用Oracle 数据类型。 列可以存储到字节的值。 这意味着对于单字节字符集,最多可以在列中存储个字符。 当使用列创建表时,必须指定最大字符串长度(以字节为单位): 或以字符 - 默认情况下,如果没有在之后显式指定或

  • 问题内容: 我想创建一个在不从现有的表中选择,而是具有插入到它的数据。当前,我正在创建一个表,然后在完成后将其删除。有没有一种方法可以有效地创建相同的对象?这是我当前的代码: 问题答案: 您可以通过从对偶中选择日期值并将它们结合在一起来创建公用表表达式(CTE,子查询分解等)。 与CTE无关,但是您可以通过使用日期文字来减少输入:

  • 我甚至尝试过直接分配 得到同样的结果。 编辑

  • 我有一个nodejs应用程序,我想在oracle linux服务器中作为服务运行它。我已经创建了服务文件 /etc/init.d/wsdlsrv然后运行以下命令: wsdlsrv代码如下所示: 但是当我尝试使用systemclt启动服务时,它会抛出错误:wsdlsrv.service作业失败,因为控制进程带着错误代码退出。有关详细信息,请参阅“systemctl statuswsdlsrv.ser

  • 为什么它不起作用?我在甲骨文中运行这个。我想创建这样的装饰: 这是错误: PLS-00103:在预期以下情况之一时遇到符号“DECLARE”:begin函数杂注过程子类型当前游标删除存在于外部语言之前符号“begin”被替换为“DECLATE”以继续。7/5 PLS-00103:在预期以下情况之一时遇到符号“文件结束”:(开始情况声明结束异常退出,如果循环mod null pragma引发返回选择