F
fstao
Unregistered / Unconfirmed
GUEST, unregistred user!
数据库是Sql server7,我想做一个查询,是涉及到好几个表,那我得写
个存贮过程,例如这样写:
Create table temp1([id] int primary key CLUSTERED IDENTITY (1, 1) NOT NULL,
f1 varchar(20) null, f2 varchar(20) null,...)
--然后下面写的sql是把涉及的表insert into Temp1
...
...
...
--然后就select temp1和drop temp1
select * from temp1
drop table temp1
我在delphi用Ado连接sql server 7,用Tadostoredpro连接我刚才写的存贮过程,
然后编译成*.exe文件,运行它,在单用户上是没有事的,在多用户上就出现了
问题,如果两部机器都运行*.exe文件,如果这两个*.exe文件都调用存储过时,
第一个先调用的没有问题,但第二个调用时,就会出现错误:
“There is already an object named 'temp1' in the database”,当第一个
调用完了,第二个用户再调用就不会出现问题了,如何处理这个问题呢?那么如何
解决第一个用户调用存储时,第二个紧接着调用时,如果第一个用户没有调用完,
第二个用户就等待着,当第一个用户调用完后,第二个才调用?或者说有没有更好
的方法?
个存贮过程,例如这样写:
Create table temp1([id] int primary key CLUSTERED IDENTITY (1, 1) NOT NULL,
f1 varchar(20) null, f2 varchar(20) null,...)
--然后下面写的sql是把涉及的表insert into Temp1
...
...
...
--然后就select temp1和drop temp1
select * from temp1
drop table temp1
我在delphi用Ado连接sql server 7,用Tadostoredpro连接我刚才写的存贮过程,
然后编译成*.exe文件,运行它,在单用户上是没有事的,在多用户上就出现了
问题,如果两部机器都运行*.exe文件,如果这两个*.exe文件都调用存储过时,
第一个先调用的没有问题,但第二个调用时,就会出现错误:
“There is already an object named 'temp1' in the database”,当第一个
调用完了,第二个用户再调用就不会出现问题了,如何处理这个问题呢?那么如何
解决第一个用户调用存储时,第二个紧接着调用时,如果第一个用户没有调用完,
第二个用户就等待着,当第一个用户调用完后,第二个才调用?或者说有没有更好
的方法?