• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 282
  • 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
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
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

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

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