VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

在Procedure內, 能否將2個Procedure的資料合併, 然後再出來?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Batman



註冊時間: 2003-11-15
文章: 348


第 1 樓

發表發表於: 星期二 一月 12, 2010 3:37 pm    文章主題: 在Procedure內, 能否將2個Procedure的資料合併, 然後再出來? 引言回覆

如:Procedure A
Select EmpID,Name From EmpInfo
Procedure B
Select EmpID, DeptName Form Department

Procedure C
合併以上Procedure A 及 B , 出來結果如:
Select a.EmpID,Name,DeptName From EmpInfo a,Department b where a.EmpID=b.EmpID

以上祗是簡單範例
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 2 樓

發表發表於: 星期五 一月 15, 2010 7:04 am    文章主題: 引言回覆

在執行c之前先執行過A跟B
理論上是可行的

你要想的是在a與b之間的執行結果如何能夠'保留'給其他程序讀取到
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Batman



註冊時間: 2003-11-15
文章: 348


第 3 樓

發表發表於: 星期六 一月 16, 2010 11:27 pm    文章主題: 引言回覆

你要想的是在a與b之間的執行結果如何能夠'保留'給其他程序讀取到--->是的,不知應怎做?
回頂端
檢視會員個人資料 發送私人訊息
goodnight



註冊時間: 2008-10-13
文章: 391
來自: 台南市

第 4 樓

發表發表於: 星期日 一月 17, 2010 10:32 pm    文章主題: 引言回覆

Select EmpInfo.EmpID, EmpInfo.Name, Department.DeptName ;
From EmpInfo, Department ;
where EmpInfo.EmpID = Department.EmpId

這樣不就好了, 何必多此一舉??

但是, 原則上, 有時候我的確會先處理出某些結果再合併, 是有這樣的用法沒錯
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
Batman



註冊時間: 2003-11-15
文章: 348


第 5 樓

發表發表於: 星期二 一月 19, 2010 5:54 pm    文章主題: 引言回覆

我祗是用簡單舉例, 其實是你想法一樣, 要先處理一些資料再合併, 有時部份處理資料尚會用在其他合位地方, 所以才想問一能不能用一個Procedure將2個Procedure一次性抽取資料
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 6 樓

發表發表於: 星期五 一月 22, 2010 1:52 pm    文章主題: 引言回覆

資料要能'穿透',直接建立成cursor不就得了
只要沒有close掉,資料愛怎麼用就怎麼用不是嗎
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
cdy



註冊時間: 2008-12-30
文章: 26


第 7 樓

發表發表於: 星期五 二月 12, 2010 3:45 pm    文章主題: 引言回覆

第一個proc中
select 工號,姓名 into ##cursor_all01 from 員工檔
第2個proc中
select 工號,部門名 into ##cursor_all02 from 部門檔

第3個proc中,就可看到所有全域的cursor

select ##cursor_all01.工號,##cursor_all01.姓名,##cursor_all02.部門名
from ##cursor_all01,##cursor_all02 where ##cursor_all01.工號=##cursor_all02.工號



註1:用完後,請關閉暫存檔 drop table ##cursor_all01及 drop table ##cursor_all02
註2: #cursor_local 一個#號為: 區域暫存檔,一離開proc就自動關畢,無法穿透給它人用
回頂端
檢視會員個人資料 發送私人訊息
foxy



註冊時間: 2007-08-16
文章: 135
來自: 泰國

第 8 樓

發表發表於: 星期日 六月 20, 2010 9:23 pm    文章主題: 引言回覆

Procedure A
LOCAL lcCursorName
m. lcCursorName='TMP'+SYS(2015)

&&確定新的CURSOR不會關閉已有的CURSOR
DO WHILE USED(m. lcCursorName)
m. lcCursorName='TMP'+SYS(2015)
ENDDO
Select EmpID,Name From EmpInfo INTO CURSOR (m. lcCursorName)
RETURN m. lcCursorName
ENDPROC

Procedure B
LOCAL lcCursorName
m. lcCursorName='TMP'+SYS(2015)
DO WHILE USED(m. lcCursorName)
m. lcCursorName='TMP'+SYS(2015)
ENDDO
Select EmpID, DeptName Form Department INTO CURSOR (m. lcCursorName)
RETURN m. lcCursorName
ENDPROC

Procedure C
LOCAL lcCursor1,lcCursor2
m.lcCursor1=A()
m.lcCursor2=B()
Select a.EmpID,a.Name,b.DeptName;
From (m.lcCursor1) as a;
INNER JOIN (m.lcCursor2) as b;
ON a.EmpID=b.EmpID
ENDPROC

_________________
提供庫存軟體+會計+POS(店面零售)+員工出勤和薪資, 四合一, 從業務資料自動拋會計傳票.
介面為VFP9, 資料庫可用DBF或SQL Server.
有正體中文,簡體中文,英文,日文,泰文,緬甸文.
任意三種文字可同時顯示輸入列印.

軟體的 source code 銷售中
加LNE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作