全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3340
推到 Plurk!
推到 Facebook!

如何得知該暫存資料表已經建立?

 
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-11 17:54:30 IP:210.201.xxx.xxx 訂閱
各位前輩,請教一個問題..
當我利用 TQuery 向 MSSQL 建立了一個 "暫存資料表",請問之後我要如何得知該 "暫存資料表" 已建立,而不會因而發生重複建立時產生錯誤?
記得一般在 Create Table 時 會多下判斷如下..
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Test]
如此可在Table已存在時先行 drop .. 那對於 暫存資料表 又該如何防止呢?
謝謝 ~
------
我也在努力學習中,若有錯謬請見諒。
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-12 08:17:07 IP:203.73.xxx.xxx 訂閱
if exists (select * from sysobjects where name='View Name' and type = 'V')
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-12 10:01:06 IP:210.201.xxx.xxx 訂閱
Sorry .. 我忘了說我用的是 MSSQL 7.0 的環境 ~~
------
我也在努力學習中,若有錯謬請見諒。
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-12 10:29:10 IP:203.73.xxx.xxx 訂閱
你有試過嗎,跟MSSQL 7.0 的環境應該沒差吧。
select * from dbo.sysobjects 檢查看看裡面的內容。

===================引 用 文 章===================
Sorry .. 我忘了說我用的是 MSSQL 7.0 的環境 ~~
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-12 10:53:24 IP:210.201.xxx.xxx 訂閱
我查了一下..
似乎 type 不是 V 而是 U.... 當我建立一個名為 #TEST 後去查看,其Type為 U 而不是 V,
01. 但更重要的是... 其name 為 #TEST_______________________ 下底線是一直延伸的... 所以若要 drop 其 table name 不知如何下達?
02. 我直接以 Enterprise Manager Tool 至 tempdb 的sysobjects 查看所有資料,找到該筆時#TEST_______________________ 也不能刪除,查過相關文章,只要有權限還是可以依 drop table 的陳述式來刪除,但不知為何不行?
以上,謝謝...
===================引 用 文 章===================
if exists (select * from sysobjects where name='View Name'?and type = 'V')
------
我也在努力學習中,若有錯謬請見諒。
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-12 11:13:55 IP:61.59.xxx.xxx 訂閱
你不是只要知道有沒有暫存資料表嗎。
VIEW要刪除的語法為 DROP VIEW [NAME]
要知道相關的訊息可以參考
http://support.microsoft.com/ 以關鍵字查詢

------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-01-12 12:59:41 IP:210.201.xxx.xxx 訂閱
雖然我一直問的是 暫存資料表 .. 但不知為什麼您一直回覆的都和 View 有關。不過還是很感謝您的熱心協助,謝謝。
(該問題我已從其它地方獲得解決,不過還是很感謝您的熱心參與,謝謝)

===================引 用 文 章===================

你不是只要知道有沒有暫存資料表嗎。
VIEW要刪除的語法為 DROP VIEW [NAME]
要知道相關的訊息可以參考
http://support.microsoft.com/ 以關鍵字查詢
?
------
我也在努力學習中,若有錯謬請見諒。
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-01-12 13:35:20 IP:61.219.xxx.xxx 訂閱
您好:
很久沒碰 MS - SQL
Temp Table...如果沒記錯...應該在 "tempdb" 這個 Database 中找得到.
至於要 Drop....恐怕不行
它應該是Create 時選擇 Transaction 或 Session (好像是用 # / ## 決定)....
Commit / Disconnect 時由 Server "自動" Drop
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-12 22:31:41 IP:61.64.xxx.xxx 訂閱
謝謝您熱心的回應.. 
其實還是可以 drop 的,在相關的線上說明文件中有提到 ^ ^

===================引 用 文 章===================

您好:
很久沒碰 MS - SQL
Temp Table...如果沒記錯...應該在 "tempdb" 這個 Database 中找得到.
至於要 Drop....恐怕不行
它應該是Create 時選擇 Transaction 或 Session (好像是用 # / ## 決定)....
Commit / Disconnect 時由 Server "自動" Drop
------
我也在努力學習中,若有錯謬請見諒。
tangroger
一般會員


發表:0
回覆:1
積分:0
註冊:2005-03-07

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-01-14 12:54:58 IP:60.251.xxx.xxx 訂閱
IF OBJECT_ID('tempdb..#AAA') IS NOT NULL 
DROP TABLE #AAA
系統時間:2024-05-07 4:57:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!