2015-09-28 91 views
1

你可能不相信,但我搜查計算器問題找到以下問題的答案:編譯和SQL開發人員使用功能

我可以編譯這個功能

create or replace function cart_distance(x1 in number,x2 in number,y1 in number,y2 in number) 
return number is 
begin 
    return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)); 
end; 

但如果我想測試它的編譯器提供了以下錯誤「出現符號選擇」

SELECT cart_distance(2,3,4,5) FROM DUAL; 

功能和查詢都寫在SQL表和我按「運行聲明」選項。 (我對程序非常沒有經驗)

+0

它應該是:SELECT dbo.cart_distance(2,3,4,5)FROM DUAL;假設它已分配給dbo架構,並且您正在使用SQL Server。 – Rono

+1

這看起來像甲骨文。選擇語句看起來正確。突出顯示select語句並執行該語句。 – OldProgrammer

+0

@rono:語法顯然是PL/SQL,而不是T-SQL。而且Oracle不需要用戶定義的函數作爲模式(所有者)的前綴。 –

回答

4

嘗試選擇查詢文本並按下「運行」按鈕。從您發佈的錯誤中,我瞭解到它正在執行與執行查詢相同的Run中的函數編譯。或者更好 - 嘗試在單獨的工作表中。確保你的連接是正確的。

+0

這工作,謝謝! – Agnaroc

相關問題