• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 287
  • Last Modified:

to create a temporary table with unique name in SQL 7.0

Dear advisor  !

I use SQL 7.0

I want to create a temporary table for inputing data.  Like that

On computer 1 : The user runs the application

Create Table C:\Temp\OrderDetail
Insert, Delete, Update


On computer 2 : The user runs the application

Create Table C:\Temp\OrderDetail
Insert, Delete, Update

The name of table is not changed. But that will be conflicted.
Are  there any "folder" on SQL Server to  avoid this error.

Before i used Foxpro. it is ok. But i dont know how to do like that in SQL Sever

Thanks for all consider

Beginner
0
NamCit
Asked:
NamCit
  • 6
  • 5
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
in SQL Server you create temporary tables like this:

create table #temp ...

This temporary table (the prefix # is the key) will be available to the connection that created the table, other connections can create a temporary table with the same name without conflicting.

You can try this out by opening 2 query analyser windows and executing the same create table #temptable statement, and then select the tempdb.dbo.objects where name like '#%', you will see that SQL Server uses some internal technique to avoid the conflicts.

Cheers
0
 
NamCitAuthor Commented:

Yes , it is ok. But i use application (Delpi 5.0) to connect that Table . I could not see that Table ???

0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
>I could not see that Table ???
You cannot see the table unless you create it, but even then it will only be seen by the connection that creates the table.
If you create the table in the query analyser, you obviously cannot see it by delphi application.

Maybe you expand a little bit more what exactly you need, how the table is used, who should create the table, when the table is created, when the table is dropped, will all applications (from all computers) share the same table etc

CHeers
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
NamCitAuthor Commented:

Yes , it is ok. But i use application (Delpi 5.0) to connect that Table . I could not see that Table ???

0
 
NamCitAuthor Commented:


Dear angelIII !


I use Delphi5.0 + SQL 7.0

When the user runs my application, The application creates a temporary table on SQL SerVer with a constant name. I use this temporary table for Inser , Update , Delete.

I could not use SQL statement to retrieve Data. Because  If i use SQL to retrieve Data , when i update data , it updates on Server automaticly. I only want to update when i puch the button

I have just used component to connect that table . But it is error. Because the name of table is too long


Hearing your comment




 


0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
In SQL Server, you don't use file names for the table names like "C:\Temp\OrderDetail", but simply "tmpOrderDetails". For true temporary table, use # as prefix.
0
 
NamCitAuthor Commented:

whether SQL SerVer could create table with constant name for each users who use my appliction.

Before , i used Dbf in FoxPro. When the user runs my application. i create Table on C:\Temp folder.

0
 
NamCitAuthor Commented:


IF i do like your comment . I am afraid that the user does not have their own table. When the first user use temptable to modify(Inser , Delete , update) the data , the second user will be effected. Because they use the same table.

0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
So you want that each user has it's own temporary table, available all the time, while the application can create it if necessary?
The problem is that temporary tables will only last the duration of the connection, while other tables will all need to have different names.
So the only solution i can see is that you have different names of the tables.
CHeers
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
sorry, ignore that comment (didn't see your last comment)

In case all the users will use the same table, but the table shall be "temporary", create the table in the tempdb:
create table tempdb.dbo.OrderDetails (...)

Now, this table will be removed when SQL Server restarts, but if i understood correctly, your application will check if the table exists and create it as necessary.

CHeers

0
 
NamCitAuthor Commented:

I could do that ?

If the second user uses the application. It will be conflicted of Table. Maybe, i should create a ranDom name of Table. And query that table with a constant name

SQL can not dont like my above question ?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now