我将PRAGMA RESTRICT_REFERENCES添加到包中的过程(例如,RNPS).该过程实现在表中插入一行.
该表具有before insert触发器.该触发器从包中读取变量并将其放入:new.my_column.
我可以毫无问题地编译包体,即使它实际上是从包变量中读取值.
当我执行该程序时,它实际上是有效的.但这是发展的过程,通常没有多个同时连接.我担心这可能会在生产环境中失败.
那么,我应该担心,还是这实际上有用?
示例代码:
CREATE TABLE MY_TABLE
(
ID VARCHAR2(20) NOT NULL
, USER_ID VARCHAR2(50)
, CONSTRAINT MY_TABLE_PK PRIMARY KEY
(
ID
)
ENABLE
);
CREATE OR REPLACE PACKAGE PUSER IS
PROCEDURE saveUser(
pUserId VARCHAR2
);
PRAGMA RESTRICT_REFERENCES (saveUser, WNDS, RNDS, RNPS);
FUNCTION getUser RETURN VARCHAR2;
PRAGMA RESTRICT_REFERENCES (getUser, WNDS, RNDS, WNPS);
END PUSER;
CREATE OR REPLACE PACKAGE BODY PUSER AS
userId VARCHAR2(50);
PROCEDURE saveUser(
pUserId VARCHAR2
) IS
BEGIN
userId := pUserId;
END saveUser;
FUNCTION …Run Code Online (Sandbox Code Playgroud) 我有一个本机SQL查询如下:
for(init i=0; i <=2 ; i++){
String sql = "Select * from accounts where id = ?";
Query query = em.createNativeQuery(sql,AccountBean.class);
query.setParameter(1, i );
AccountBean accountBean = (AccountBean)query.getSingleResult();
}
Run Code Online (Sandbox Code Playgroud)
对于第一个循环它工作正确,但第一个循环后的任何循环返回相同的结果到第一个,我调试它,参数更改,如果我改变它的工作正确
Query query = em.createNativeQuery(sql,AccountBean.class);
Run Code Online (Sandbox Code Playgroud)
至
Query query = em.createNativeQuery(queryString);
Run Code Online (Sandbox Code Playgroud)
关心Wish79
我正在创建两个对象类的多对多映射.我需要写作hashCode()和equals()方法吗?如果是这样,netbeans会自动生成代码帮助吗?