存儲過程如何寫計算
如果只是寫個存儲過程,那很簡單的,因為不知道你具體功能,我只能這樣寫:
/*已有數據表1.列名a,b,c,d,e,f
編寫存儲過程:a^2+b*(c+d)/2-f*e*/
IF OBJECT_ID('table1') IS NOT NULL
DROP TABLE table1;
GO
CREATE TABLE table1
(a INT ,
b INT ,
c INT ,
d INT,
e INT ,
f INT )
GO
IF OBJECT_ID('sptabel1') IS NOT NULL
DROP PROCEDURE sptabel1;
GO
CREATE PROCEDURE sptabel1
AS
BEGIN
DECLARE @test INT,
@a INT ,
@b INT ,
@c INT ,
@d INT ,
@e INT ,
@f INT ;
DECLARE cur CURSOR FOR SELECT * FROM table1;
OPEN cur;
FETCH NEXT FROM cur INTO @a,@b,@c,@d,@e,@f;
WHILE @@FETCH_STATUS=0
BEGIN
SET @test=POWER(@a,2)+@b*(@c+@d)/2-@f*@e;
FETCH NEXT FROM cur INTO @a,@b,@c,@d,@e,@f;
END;
CLOSE cur;
DEALLOCATE cur;
END;
希望這個是你所需要的。
Ⅱ 存儲過程怎麼寫啊
//創建存儲過程
CREATE PROCEDURE userData(
IN id INT
)
BEGIN
SELECT * from userdata WHERE userflag = id;
END;
其中IN是傳進去的變數;
drop procere userData;//銷毀這個存儲過程。
call userData(2) //調用存儲過程。
(2)存儲過程如何寫計算擴展閱讀:
sql中的存儲過程及相關介紹:
CREATE PROCEDURE [擁有者.]存儲過程名[;程序編號]
[(參數#1,…參數#1024)]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
]
[FOR REPLICATION]
AS 程序行
其中存儲過程名不能超過128個字。每個存儲過程中最多設定1024個參數
(SQL Server 7.0以上版本),參數的使用方法如下:
@參數名數據類型[VARYING] [=內定值] [OUTPUT]。
每個參數名前要有一個「@」符號,每一個存儲過程的參數僅為該程序內部使用,參數的類型除了IMAGE外,其他SQL Server所支持的數據類型都可使用。
[內定值]相當於我們在建立資料庫時設定一個欄位的默認值,這里是為這個參數設定默認值。[OUTPUT]是用來指定該參數是既有輸入又有輸出值的,也就是在調用了這個存儲過程時,如果所指定的參數值是我們需要輸入的參數。
同時也需要在結果中輸出的,則該項必須為OUTPUT,而如果只是做輸出參數用,可以用CURSOR,同時在使用該參數時,必須指定VARYING和OUTPUT這兩個語句。
參考資料來源:網路-儲存過程
Ⅲ 如何在函數或存儲過程中對公式文本進行計算
一,存儲過程: 1、 在oracle的 配置和移植工具 àNET MANAGER中配置連接 2、 在plsql中新建SQL窗口,編寫存儲過程 3、 在plsql中新建測試窗口,在begin end之間調用 4、 查看編譯錯誤:在命令窗口中show errors procere procere_name
Ⅳ 寫出存儲過程製作一個簡易計算器,要求輸入三個參數.
註:Oracle的INOUT寫在變數名後面。SQL>(2p_user_nameINVARCHAR2,3p_out_valOUTVARCHAR2,4p_inout_valINOUTVARCHAR25)as6BEGIN7dbms_output.put_line('Hello'||p_user_name||p_inout_val||'!');8p_out_val:='A';9p_inout_val:='B';10endHelloWorld2;11/Procerecreated.SQL>declare2p_outvalVARCHAR2(10);3p_inoutvalVARCHAR2(10):='~Hi~';4BEGIN5HelloWorld2('edward',p_outval,p_inoutval);67dbms_output.put_line('p_outval='||p_outval);8dbms_output.put_line('p_inoutval='||p_inoutval);9end;10/Helloedward~Hi~!p_outval=Ap_inoutval=Bpl/.SQL>