firstly, oracle always create object name in capitalization except u use double "'" to contain object name.
so, "CREATE TRIGGER hahaTrigger" will create a object named "HAHATRIGGER", "SELECT 1 FROM sysobjects where name = 'hahaTrigger'" won't exist forever.second, oracle got before,after insert trigger. i'm not sure which kind of trigger u r currently using.third, i suppose that there are 3 possible reason. One is that two transcations cannot run trigger in parallel mode. one is that tigger got trouble in process base table. one is that select statement got trouble when read uncommit data from another transcation. it's easy to check up.
:)Good luck.
so, "CREATE TRIGGER hahaTrigger" will create a object named "HAHATRIGGER", "SELECT 1 FROM sysobjects where name = 'hahaTrigger'" won't exist forever.second, oracle got before,after insert trigger. i'm not sure which kind of trigger u r currently using.third, i suppose that there are 3 possible reason. One is that two transcations cannot run trigger in parallel mode. one is that tigger got trouble in process base table. one is that select statement got trouble when read uncommit data from another transcation. it's easy to check up.
:)Good luck.
BEGIN
DROP PROC loopInsert
END
GO
CREATE PROC loopInsert
WITH ENCRYPTION
AS
DECLARE @jj int
SET @jj = 5000
while (@jj>0)
BEGIN
insert into member(lastname, firstname) values("INGD", "有")
END
GO你写了一个死循环,@jj没有递增吧
在你的procedure中对表member执行了一个没有终止的循环,这时系统定会对该表进行表级锁定,在这期间任何对该表的其他操作都会给出进程锁定的错误,包括你的第四句插入!
我是不明白触发器怎么会引起该问题?究竟是锁住了什么资源?在增夺什么资源?我只不过是insert而已,没有其它的操作。