运行以下语句时,我收到使用Oracle 11g的错误。
CREATE OR REPLACE TRIGGER autoincrement_sm_users_id BEFORE INSERT ON SM_USERS FOR EACH ROW BEGIN SELECT sm_users_id.NEXTVAL INTO : new.id FROM dual; END;
错误是:
Error(5): PLS-00801: internal error [ph2csql_strdef_to_diana:bind]
答案 0 :(得分:3)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="initURL">
<select id="priceLookupDay">
<option value="DAY">DAY</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
</select>
<input type="button" id="FormSubmit" value="Look Up" />
</form>
删除冒号(CREATE OR REPLACE TRIGGER autoincrement_sm_users_id BEFORE INSERT ON SM_USERS FOR EACH ROW BEGIN SELECT sm_users_id.NEXTVAL INTO :NEW.id FROM dual; END;
)和:
之间的空格。
答案 1 :(得分:0)
除了上面的答案外,我想指出的是,如果您从测试脚本中复制并粘贴代码,而忘记删除&
符号,则在任何pl / sql单元中也可能发生相同的情况变量。
例如您的pl / sql单元包含
之类的内容...
select value
inlo l_variable
from table
where key = l_key_var;
...
您要执行这段代码
select value
--inlo l_variable
from table
where key = &l_key_var;
在品尝和调试后,您可以将这段代码复制为
...
select value
inlo l_variable
from table
where key = &l_key_var;
...
此处的&
符号将导致«PLS-00801:内部错误[ph2csql_strdef_to_diana:bind]»。
但是,消息中提到的“戴安娜”是谁? :)