我正在尝试创建一个表,但不断收到以下错误消息:警告:oci\u execute():ORA-00907:中缺少右括号。。。第14行
以下是处理此问题的代码:
$stid = oci_parse($conn, 'CREATE TABLE tags (
id INT NOT NULL auto_increment,
PRIMARY KEY(id),
name VARCHAR2(64) NOT NULL)')
or die(oci_error($conn));
oci_execute($stid) or die(oci_error($conn));
第14行是oci\U execute($stid)或die(oci\U error($conn))
。
我是Oracle的新手,不理解这个错误。我使用Google也在StackOverflow上找到了许多帖子,但没有一个答案能够解决这个问题并正确地创建一个新表。
我做错了什么?
我相信您习惯于在MySQL中创建表。Oracle没有MySQL那样的auto\u增量。
$stid = oci_parse($conn, 'CREATE TABLE tags (
id INT NOT NULL,
name VARCHAR2(64) NOT NULL),
PRIMARY KEY(id)')
Oracle使用对象序列创建自动增量值。
假设您有正确的权限,如何创建序列的示例。
CREATE SEQUENCE "CCAD"."AUTH_GROUP_SQ"
MINVALUE 1
MAXVALUE 999999999999
INCREMENT BY 1
START WITH 91
CACHE 20
NOORDER NOCYCLE;
连同插入触发器。
create or replace TRIGGER "AUTH_GROUP_TR"
BEFORE INSERT ON "AUTH_GROUP"
FOR EACH ROW
WHEN (new."ID" IS NULL)
BEGIN
SELECT "AUTH_GROUP_SQ".nextval
INTO :new."ID" FROM dual;
END;
我在这里做错了什么?
我一直被告知我缺少一个右括号,但我没有看到,有人能指出吗?
这是我的密码。但我不知道使用11G速递版以来的错误在哪里。它显示错误,但不显示错误在哪一行
我将查询写成, 这里是java代码, 但我有个例外,
当godownname和itemname匹配时,我想从表中获取最后可用的余额。 我试了一些代码。但是我对Oracle中的函数有一个问题。 我得到了错误: 严重:空java。sql。SQLSyntaxerRorexException:ORA-00907:oracle缺少右括号。jdbc。驾驶员t4cttiore。oracle的processError(t4cttiore.java:450) 。jdb
我一直试图搜集一些推特的数据,但每次运行此代码时,都会出现错误:调用“print”时缺少括号。 有人能帮我解决这个问题吗? 感谢您的时间:)