create table emp(empno number primarykey,ename varch2(20)); [IBM][CLI Driver][DB2/LINUXX8664] SQ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了create table emp(empno number primarykey,ename varch2(20)); [IBM][CLI Driver][DB2/LINUXX8664] SQ相关的知识,希望对你有一定的参考价值。

刚进公司,用DB2创建一个表,怎么报错啊,之前没有用过DB2啊,求指教,查询也不行啊,我就是不明白怎么就创建不了呢
create table emp(empno number primarykey,ename varch2(20));
[IBM][CLI Driver][DB2/LINUXX8664] SQL0104N 在 "ble EMP(empno number" 后面找到异常标记 "primarykey"。预期标记可能包括:"PRIMARY KEY"。 SQLSTATE=42601
Statement processed with ERROR.
*** SCRIPT END : Connection: 10.180.5.24-ICM524-INFODMS (infodms) Jun-20-2013 16:07:04 ***

你这是ORACLE建表语句吧 。
DB2中没有number、varchar2类型。可以用integer,decimal和varchar代替。
create table emp(
empno integer not null,
ename varchar(20),
primary key(empno)
);
参考技术A create table emp(empno number not null,ename varch2(20),primary key(empno));
找个语法看看撒。或者直接 db2 ? create table本回答被提问者采纳

如何以表格形式的oracle形式进入下一个领域?

我正在创建2个表格形式并将一个字段移动到第二个表格形式字段。看下面的图片

enter image description here

码:

 BEGIN

 :EMP1.EMPNO := :EMP.EMPNO;
 :EMP.EMPNO := NULL;

 :EMP1.ENAME := :EMP.ENAME;
 :EMP.ENAME := NULL;

 :EMP1.JOB := :EMP.JOB;
 :EMP.JOB := NULL;

:EMP1.MGR := :EMP.MGR;
:EMP.MGR := NULL;

:EMP1.HIREDATE := :EMP.HIREDATE;
:EMP.HIREDATE := NULL;

:EMP1.SAL := :EMP.SAL;
:EMP.SAL := NULL;

:EMP1.COMM := :EMP.COMM;
:EMP.COMM := NULL;

:EMP1.DEPTNO := :EMP.DEPTNO;
:EMP.DEPTNO := NULL;

END;

当按下移动按钮然后成功移动到下一个表格字段但光标转到第1个字段并且必须输入错误字段。我希望光标转到第二个字段,当按下按钮然后移动到下一个表格第二个字段。请帮忙

谢谢

答案

而不是将所有EMP块的项目设置为NULL,而只是DELETE_RECORD。所以:

BEGIN
  :EMP1.EMPNO    := :EMP.EMPNO;
  :EMP1.ENAME    := :EMP.ENAME;
  :EMP1.JOB      := :EMP.JOB;
  :EMP1.MGR      := :EMP.MGR;
  :EMP1.HIREDATE := :EMP.HIREDATE;
  :EMP1.SAL      := :EMP.SAL;
  :EMP1.COMM     := :EMP.COMM;
  :EMP1.DEPTNO   := :EMP.DEPTNO;

  DELETE_RECORD;
END;
另一答案

似乎没有理由,除了你的第一场(:EMP.EMPNO)在RequiredYes部分设置DataProperty Palette属性,并且你试图将它设置为NULL [如:EMP.EMPNO := NULL;]。

  • 将其更改为No

我认为因为EMPNOEMP表的主键列,而Forms假定该字段为Required表。

附:如果你想提交你所做的更改,将:EMP.EMPNO的required Required属性更改为No是不够的,因为它是主键。因此,当您将其设置为null时,DML delete emp where empno = :EMP.EMPNO; [当然insert into emp1(empno,...) values(:EMP.EMPNO,....)]应该在删除期间发出,假设EMP1作为单独的表格)应该在上面的代码中发布。

以上是关于create table emp(empno number primarykey,ename varch2(20)); [IBM][CLI Driver][DB2/LINUXX8664] SQ的主要内容,如果未能解决你的问题,请参考以下文章

如何以表格形式的oracle形式进入下一个领域?

Oracle高级查询之over(partition by..)

Oracle高级查询之over(partition by...)

Oracle高级查询之over(partition by...)

插入null数据的几种情况

命名查询休眠