client机操作server上的数据 |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
MSSQL 的 Temp Table 是建立在 connection 下的, 每一個 login 的 user 會有自己獨立的 temp table 名稱空間, 即, 使用者 a 建立的 #tmp_t1 和使用者 b 建立的 #tmp_t1 是不會有關係的, 即使使用者 a 及使用者 b 使用相同的帳號密碼登入也沒有關係!! 引述一段參考資料, MSSQL HELP: 暫存資料表
您可以建立區域或全域暫存資料表。區域暫存資料表只能在目前的工作階段中使用;全域暫存資料表可以在所有的工作階段中使用。 區域暫存資料表使用單一數字符號作為前置碼 (#table_name),而全域暫存資料表使用兩個數字符號作為前置碼(##table_name)。 SQL 陳述式使用 CREATE TABLE 陳述式中所指定的 table_name 值來參考暫存資料表: CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
INSERT INTO #MyTempTable VALUES (1) 如果在可以被多個使用者同時執行的預存程序或應用程式中建立暫存資料表,SQL Server 必須可以區別不同使用者所建立的資料表。SQL Server 透過在內部為每一個區域暫存資料表加上數字的後置字元,以達成這個需求。在 sysobjects 資料表的 tempdb 中儲存的暫存資料表完整名稱包含 CREATE TABLE 陳述式所指定的資料表名稱,以及系統產生的數字後置字元。為了預留後置字元的空間,指定的區域暫存資料表名稱 table_name 不可以超過 116 個字元。 當範圍超過時,便會自動卸除暫存資料表,除非先明確地使用 DROP TABLE執行卸除: 預存程序中所建立的暫存資料表當預存程序完成時,便會自動卸除。建立資料表的預存程序所執行的任何巢狀預存程序皆可以參考資料表。呼叫建立資料表之預存程序的處理序無法參考資料表。 在目前工作階段結束時,便會自動卸除其它所有的暫存資料表。 當建立資料表的工作區域結束以及其它所有工作停止參考時,便會自動卸除全域資料表。工作與資料表的關聯只維持單一 Transact-SQL 陳述式的生命週期。這表示在建立工作階段結束時主動參考資料表的上一個 Transact-SQL 陳述式完成時,卸除全域資料表。
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
timhuang:
您好!感谢您的指教,那是否意味着我只要用bde连接server上的tempdb,把结果再insert 到server上的database,就可以实现多个client机操作server上的data呢(我主要是想实现这样一个功能,就是先进行数据的处理,等处理完成后再把结果送入server上的database上,同时不会起冲突)?还有其它要注意的事项吗?
thank you very much! 發表人 - luowy651 於 2004/01/17 16:58:56
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |