create procedure proc1 (@a int)
as
begin
if @a=1
create table #temp(a1 int)
else
create table #temp(a1 int)
end
while executeing the above code it shows error
like '#temp already exist' .why it shows an error?
Answers were Sorted based on User's Feedback
Answer / saravanan p
Since the stored procedure precompiled, we cannot give same
table name in both the If and else part.
It will work if give some other name in else part.
| Is This Answer Correct ? | 11 Yes | 2 No |
Answer / soorai ganesh
Problem in #temp table. Because it comes twice in SP.
(U can say it is in else part. But compiler will not accept
this.First it will compile everthing then running the SP. )
Its better to keep another name for Else part table.......
| Is This Answer Correct ? | 8 Yes | 6 No |
Answer / lee
yep problem is with the compiler.. I had to think of
another way to solve the problem, eg, I created the #temp
without the IF statement and then used an IF ELSE statement
to modify or update #temp, make sense?
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / madhu sudhan g
Hiiii
in Stored Procedures we cannot create same temp table twice if it is in IF else conditions also
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / murthy
The #Temp table created in this stores procedure exists in
memory as long as the Particular session is closed. Hence
drop the table at the end of the procedure.
Note: In case if you exec the SP using Management studio,
close the connection and re-open it, it will work without
modifying anything.
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / utpal chakraboarty
Because, Stored procedure is pre-compiled language.
| Is This Answer Correct ? | 4 Yes | 12 No |
Answer / david
it indicates that some one had already executed the stored
proc but forgotten to delete the temp table they have
created.
normally before closing that particular transaction within
the SP we need to use drop table statement.
| Is This Answer Correct ? | 1 Yes | 10 No |
Answer / gaurav
Because temp is being used by database internally so that it
is same as a system table so this table can't create by user...
| Is This Answer Correct ? | 1 Yes | 14 No |
Explain how to use linked server?
Explain atomicity?
How will you know when statistics on a table are obsolete?
does physical index sort data
What is a view in sql?
I have a table Events Events containing cardno,time,id,name--each id has a cardno my requirement is every day each employee swipe the card several times i want to calculate first and last time of each card the output should be name 1 2 6 7 in out in out holiday holiday xxx 09:30 06:30 09:40 06:45 where 1,2...... are dates for example january 1,2, etc. 6 and 7 are saturday and sunday how it is posssible
After the SQL installation what are the jobs will you configure?
1 Answers G7 CR Technologies, IBM, Satyam,
What happens if ntwdblib.dll is missing on your machine?
What is merge replication?
What happens when transaction log is full?
What is mscorsvw.exe - process - microsoft .net framework ngen?
Why is sql server log file full?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)