① 如何編寫存儲過程
//創建存儲過程
CREATE PROCEDURE userData(
IN id INT
)
BEGIN
SELECT * from userdata WHERE userflag = id;
END;
其中IN是傳進去的變數;
drop procere userData;//銷毀這個存儲過程。
call userData(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這兩個語句。
參考資料來源:網路-儲存過程
② Oracle有沒有命令可以編譯存儲過程
sqlplus有相關的了命令:比如alter procere prodere_name compile;
第一次編譯的時候只要在後面加一個/當做執行符號,那麼就可以進行編譯。
③ 用javac命令編譯成功後生成的文件叫
二進制文件。
Javac命令編譯後生成的文件可以在Java虛擬機中運行
編譯後生成的文件為二進制文件
編譯後生成文件的後綴名為.class。
JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。
④ 什麼環境變數用來存儲java的編譯和運行工具所在的路徑
path環境變數用來存儲Java的編譯和運行工具所在的路徑,而classpath環境變數則用來保存保存Java虛擬機要運行的「class」文件路徑。環境變數是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變數。
(4)哪些命令可以編譯存儲擴展閱讀:
環境變數相當於給系統或用戶應用程序設置的一些參數,具體起什麼作用這當然和具體的環境變數相關。比如path,是告訴系統,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到哪些目錄下去尋找;
再如tc或vc++中,set include=path1;path2; 是告訴編譯程序到哪裡去找.h類型的文件;當然不僅僅是指定什麼路徑,還有其它的作用的。實際上是給命令解釋程序command設置的一個環境變數,並且是給dir這個內部命令設置的。
⑤ 用什麼命令可以重新編譯所有的存儲過程
這是我同事做的一個存儲過程,我們一般都用這個處理
CREATE OR REPLACE PROCEDURE OWN.P_HSJ_COMPRE
IS
CURSOR cur_invalid_obj IS
SELECT uo.object_name,uo.object_type
FROM user_objects uo,
USER_ORDER_OBJECT_BY_DEPEND uobd
WHERE uo.object_id = uobd.object_id(+) AND uo.status != 'VALID'
ORDER BY uobd.dlevel desc,uo.object_type,uo.object_name;
ls_objname VARCHAR2(100);
ls_objtype VARCHAR2(100);
ls_status VARCHAR2(20);
ls_text VARCHAR2(4000);
ls_sql varchar2(100);
BEGIN
OPEN cur_invalid_obj;
LOOP
FETCH cur_invalid_obj INTO ls_objname,ls_objtype;
EXIT WHEN cur_invalid_obj%NOTFOUND;
IF ls_objtype IN ('PACKAGE BODY', 'PACKAGE', 'FUNCTION', 'PROCEDURE','TRIGGER', 'VIEW') THEN
if ls_objtype ='VIEW' then
ls_sql :=' ALTER VIEW '||LS_OBJNAME ||' COMPILE';
execute immediate ls_sql;
else
DBMS_DDL.alter_compile(ls_objtype,NULL,ls_objname);
end if;
SELECT status INTO ls_status FROM user_objects
WHERE object_name = ls_objname AND object_type = ls_objtype;
/* IF ls_status != 'VALID' THEN
SELECT text INTO ls_text FROM user_errors
WHERE name = ls_objname AND type = ls_objtype;
END IF;
*/
END IF;
END LOOP;
CLOSE cur_invalid_obj;
EXCEPTION
WHEN OTHERS THEN
IF cur_invalid_obj%ISOPEN THEN
CLOSE cur_invalid_obj;
END IF;
END;
/