database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3667 게시물 읽기
No. 3667
임시테이블의 존재유무...
작성자
김상현(darker20)
작성일
2007-08-02 02:10
조회수
3,341

사실 MySql만 사용해서 어플을 만들다 갑자기 MSSql을 사용하게 됬는데 
별문제 없으려니 했는데 막상 닥치니..좀 문제가 되네요.

임시테이블의 존재유무를 확인하는 쿼리로..

IF Not EXISTS (SELECT name FROM  sysobjects WHERE  name = '#temp_table' AND type = 'U')
CREATE TABLE #temp_table (addFields)

이런 쿼리면 사실 쿼리분석기에서는 문제가 없습니다.
하지만, 특정 DB로 붙어서 쿼리를 작성하다보면, Sysobjects를 불러올수가 없게되더군요.

MySql에서는 

  IF Not Exists Temp_Table Create Table Temp_Table (addFields)

사용했었는데, 

한화면을 보여줄때마다 동일한 Temp_Table을 만들게 되는데 예외처리로도 할수는 있지만,
다른 대안이나 방법이 있을까요? 초보라 좀 도와줍쇼...

이 글에 대한 댓글이 총 3건 있습니다.

IF object_id('tempdb..#table_name') is not null 
    print '존재함'
else 
    print '존재안함'

.님이 2007-08-02 09:41에 작성한 댓글입니다. Edit

고맙습니다. 많은 도움 됐습니다. 꾸뻑 (__);

작성자님이 2007-08-07 19:28에 작성한 댓글입니다. Edit

#temptable은 sysobject에 #temptable이란 이름으로 저장되지 않고


#temptable_XXXXXXXX형태로 저장되는걸로 알고 있는데...아닌가?




무조건 drop 후에 create하면 될것 같은데요~

지연님이 2007-08-08 11:31에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3670프로시저의 트랜잭션에 관해서... [1]
이철림
2007-08-03
2557
3669한글 깨짐 [2]
???
2007-08-03
3348
3668mssql 7.0 -> 8.0으로 dB 이전 시 [1]
정인기
2007-08-03
2185
3667임시테이블의 존재유무... [3]
김상현
2007-08-02
3341
3665서비스가 시작이 안됩니다. [1]
채채
2007-08-01
3912
3664sql2000 통신연결오류가 가끔 나옵니다.
안성준
2007-07-31
3434
3663컬럼 위치를 바꿀 수 있나요? [1]
느림보
2007-07-31
2405
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다