Note that there are some explanatory texts on larger screens.

plurals
  1. POSQL Server 2005 - Using temporary tables in a multi-user environment
    primarykey
    data
    text
    <p>I have a problem with this procedure. It uses a couple of temporary tables which it drops and recreates. This is causing loads of crashes, and I can only presume that conflicts are arising.</p> <pre><code>ALTER PROCEDURE [dbo].[AdditionalVisits_SelectByOrigID] ( @orig_job_ID int ) as if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'additionalVisitsPodsCnt') drop table additionalVisitsPodsCnt; SELECT CONVERT(bit, COUNT(PODS.podID)) AS cnt, AdditionalVisits.this_job_id, AdditionalVisits.orig_job_id INTO additionalVisitsPodsCnt FROM PODS RIGHT OUTER JOIN AdditionalVisits ON PODS.jobID = AdditionalVisits.this_job_id GROUP BY AdditionalVisits.this_job_id, AdditionalVisits.orig_job_id HAVING (AdditionalVisits.orig_job_id = @orig_job_ID) if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'additionalVisitsPhotosCnt') drop table additionalVisitsPhotosCnt; SELECT CONVERT(bit, COUNT(Photos.photoID)) AS cnt, AdditionalVisits.this_job_id, AdditionalVisits.orig_job_id INTO additionalVisitsPhotosCnt FROM Photos RIGHT OUTER JOIN AdditionalVisits ON Photos.jobID = AdditionalVisits.this_job_id GROUP BY AdditionalVisits.this_job_id, AdditionalVisits.orig_job_id HAVING (AdditionalVisits.orig_job_id = @orig_job_ID) SELECT AdditionalVisits.id, AdditionalVisits.this_job_ID, AdditionalVisits.orig_job_ID, AdditionalVisits.reason, AdditionalVisits.date, ThisJob.Job_Reference_No, ThisJob.Job_POD_Filename, ThisJob.Job_Photo_Filename, ThisJob.Job_Signed_For_Name, ThisJob.Job_Value, ThisJob.Job_Advance_Payment, ThisJob.Job_Eoj_Payment, ThisJob.Job_Status, ThisJob.Job_Date_Added, ThisJob.Job_Start_Date, additionalVisitsPhotosCnt.cnt AS Job_Photo_Supplied, additionalVisitsPodsCnt.cnt AS Job_POD_Supplied FROM AdditionalVisits INNER JOIN Jobs AS ThisJob ON AdditionalVisits.this_job_ID = ThisJob.Job_ID INNER JOIN additionalVisitsPodsCnt ON AdditionalVisits.this_job_ID = additionalVisitsPodsCnt.this_job_id INNER JOIN additionalVisitsPhotosCnt ON AdditionalVisits.this_job_ID = additionalVisitsPhotosCnt.this_job_id WHERE (AdditionalVisits.orig_job_ID = @orig_job_ID) AND (ThisJob.Job_Status &lt;&gt; 7) </code></pre> <p>The errors I get are as follow:</p> <pre><code>Cannot drop the table 'additionalVisitsPodsCnt', because it does not exist or you do not have permission. There is already an object named 'additionalVisitsPodsCnt' in the database. </code></pre> <p>or</p> <pre><code> Invalid object name 'additionalVisitsPhotosCnt'. </code></pre> <p>These errors are intermittent. Sometimes it just works.</p> <p>Is there a better way of doing this?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload