![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 孤獨鳥 ![]()
![]() |
在SQL Server 中BEGIN...END 裡面可以簡單的寫 select * from Employee 就可以顯示結果. BEGIN ... SELECT * FROM Employee; END; 但改到Oracle 裡面, 我在PL/SQL 視窗中執行下面 DECLARE id number; BEGIN .... SELECT * from Employee; END; 結果執行會出現 PLS-00428 錯誤 "在此SELECT 敘述句中預期會出現一個 INTO 子句" 好吧, 查了Google 好幾個禮拜之後, 似乎好不容易找到是要改成 DECLARE id number; BEGIN .... EXECUTE IMMEDIATE 'SELECT * from Employee'; END; 但執行結果卻只有顯示 "已順利完成 PL/SQL 程序" 而已, 却不會顯示 SELECT 的結果.... WHY? 快要瘋了....
本篇文章發表於2010-06-20 10:23
== 簽名檔 ==
給我更強大的C#,我給你全世界 |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓 |
SELECT * from Employee
本篇文章回覆於2010-06-20 11:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
孤獨鳥 ![]() |
dear johnson:
唉~ 你似乎沒看懂我的問題所在, 我知道只要一道指令select * from employee 但要在begin ... end statement ... PS: 我又不是完全不懂SQL. 你想我會笨到這地步嗎?
本篇文章回覆於2010-06-20 12:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
oracle 的stored procedure與 sql server是差別很多的...
建議你多去查查有關oracle stored procedure的用法 如果你是在clinet端用開發軟體的話,可以使用DBMS_OUTPUT.put_line 這個function輸出到output端去...
本篇文章回覆於2010-06-21 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20081205160526GL0&fumcde=FUM200410061527578K1
本篇文章回覆於2010-06-21 18:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
孤獨鳥 ![]() |
4樓的有提供線索, 這還算是有建設性的...
通常這種人都會回答 "建議你多去查查有關xxx的用法, xxx的書籍", 既然都這樣, 討論區就沒有存在的意義了, 太多人情冷暖,對這個圈子已再沒有憧憬.... 那就大家自掃門前雪好了....
本篇文章回覆於2010-06-21 21:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓 |
有人回就不錯了,看到你#2的回應,壓根就不想幫你解答
現在是你求人,不是別人求你,尋求別人的幫助,姿態要低一點,誠懇一點
本篇文章回覆於2010-06-22 09:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
孤獨鳥 ![]() |
那好, 只要是求人, 就可以回覆也不客氣?
原本好好地發問, 換來一句老大不客氣, 在#2之前就有多少不善意的回應, 這是活該的?
本篇文章回覆於2010-06-22 14:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
施主你會不會太主觀了,我倒沒看到哪一篇回覆不客氣
#1我猜應該是沒看清楚你的問題,才會這樣回答,每個人都有沒睡醒的時候吧 #3也是個建議,只是對您幫助很小而已 若您問題已解決就請結案吧
本篇文章回覆於2010-06-22 17:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓
作者回應
孤獨鳥 ![]() |
好吧, 算是我小題大做,
不過這問題沒能得到答案, 只能流標....
本篇文章回覆於2010-06-22 20:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓 |
http://www.devshed.com/c/a/Oracle/Working-with-REF-CURSOR-in-PL-SQL/
參考一下,我試過是可以work的 但似乎僅能用dbms_output輸出顯示結果 你要的是不是這樣就不知道了
本篇文章回覆於2010-06-23 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓
作者回應
孤獨鳥 ![]() |
#10 Dear lsk:
這招我有試過, 雖然可以work, 但dbms_output 輸出的結果在Client 無法讀取到, 對吧!? PS:如果說硬要讀取是可以啦, 但還得自行Parse....就變得很..%#@X
本篇文章回覆於2010-06-24 17:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓 |
要包成字串
PROCEDURE ( P_RESULT OUT T_CURTYP) IS V_SQL VARCHAR2(4000); V_SQL :=' select * from employee '; 最後 OPEN P_RESULT FOR V_SQL;
本篇文章回覆於2019-07-16 17:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |