跨多個儲存過程使用臨時表

2022-02-20 03:02:37 字數 485 閱讀 6547

今天,在sql server 2008 中,在乙個儲存過程中建立了乙個臨時表#table1,打算在另外乙個儲存過程中使用這個臨時表。可是悲劇的是,怎麼都失敗。更暈的是,我是在乙個asp.net專案中呼叫的儲存過程。其中除錯錯誤的艱辛。。~~~~(>_<)~~~~

誰用誰知道啊!

查了資料,才知道原來這裡需要用全域性表變數##tablel1。其中的概念解釋如下:

本地臨時表的名稱以單個數字符號 (#) 打頭;它們僅對當前的使用者連線是可見的;當使用者從 microsoft? sql server? 2000 例項斷開連線時被刪除。全域性臨時表的名稱以數學符號 (##) 打頭,建立後對任何使用者都是可見的,當所有引用該錶的使用者從 sql server 斷開連線時被刪除。

最讓我不明白的是:我的2個儲存過程都是乙個連線啊!按照這個解釋是可見的啊!!

不理它了。我個人的感覺就是#table 類似於@table;##table 類似於@@table。這樣的話,就解釋通了。不知道理解的對不對?!

跨伺服器返回儲存過程臨時表資料

解決這個問題,推薦使用openquery或openrowset的方法.首先要說的是,這是一種非常規的方法,有一些效能上的缺陷.openquery,openrowset允許使用者在鏈結伺服器上查詢.通過這種方法來得到查詢的結果集.1.在建立儲存過程中,必須設定 set ansi nulls on se...

儲存過程示例 在儲存過程中使用臨時表

create or replace procedure product temp update prc aspc delestr varchar2 50 刪除臨時表記錄語句 pc createstr varchar2 500 建立臨時表 tabext varchar2 10 用於判斷臨時表是否存在中...

儲存過程,游標,迴圈,臨時表

create procedure hr attabn qry2 d date nvarchar 10 null,deptno nvarchar 1000 null as begin declare sql nvarchar 1000 建立臨時表 create table mytemptable de...