oracle定義oracle儲存過程輸出1100之間

時間 2021-12-20 12:48:15

1樓:翔阿狗

create or replace

function isprime(

num in number)

return boolean

isbegin

if(num<=1) then

return false;

end if;

for i in 2..(num-1)

loop

if(mod(num,i)=0) thenreturn false;

end if;

end loop;

return true;

end;

/以前寫得函式,過程迴圈呼叫一下就行

2樓:匿名使用者

收藏別人的,實測正確:

plsql計算質數

declare

type t_record is table of number index by binary_integer;

v_result t_record;

i number default 3;

n number default 0;

begin

dbms_output.put_line(2);

v_result(1) := 3;

while (i < 101) loop

for j in 1 .. v_result.count loop

if v_result(j) * v_result(j) > i then

dbms_output.put_line(i);

v_result(v_result.count + 1) := i;

exit;

end if;

if trunc(i / v_result(j)) = i / v_result(j) then

exit;

end if;

end loop;

if n = 2 then

i := i + 4;

n := 1;

else

i := i + 2;

n := n + 1;

end if;

end loop;

v_result(0) := 2;

end;

3樓:匿名使用者

declare

v_num number;

v_now number;

v_yes number;

c_max number;

begin

v_num:=1;

c_max:=200;--這裡設定最大數,想要100這內就寫100,想要1000之內就寫1000

loop

v_now:=2;--這裡設定每一個數的初始被除數,從2開始

v_yes:=1;--設定初始參考數,1為素數,0為非素數,預設初始為1

if v_num<4 then

dbms_output.put_line(v_num);--1到3都是素數,這裡就不再判斷了

-- v_num:=v_num+1;--自增1

end if;

if v_num>=4 then

--這裡開始判斷,只能被1和本身整除的數,就是素數

loop

if mod(v_num,v_now)=0 and v_num<>v_now then --如果有能被整除的數,且被除數不是除數本身,就不是素數

v_yes:=0;

end if;

v_now:=v_now+1;--被除數遞增

exit when v_now>=v_num;--當被除數大於除數時退出

end loop;--因為要一個一個的判斷,所以要來一次迴圈

end if;

if v_num>4 and v_yes=1 then

dbms_output.put_line(v_num);

-- v_num:=v_num+1;--自增

end if;

v_num:=v_num+1;--自增

exit when v_num>=c_max;

end loop;

end;

參考一下,自己寫的

oracle儲存過程如何輸出資訊

4樓:墨汁諾

可用dbms_output.put_line()對儲存過程的進行輸出。

編寫儲存過程:

create or replace procedure test_pro(in_num number)

asm number;

begin

m := in_num;

if 0 < m then

dbms_output.put_line('輸出sql語句1');

elsif m < 3 then

dbms_output.put_line('輸出sql語句2');

else

dbms_output.put_line('nothing');

end if;

end;

擴充套件資料;儲存在資料庫的資料字典中,儲存在當前的應用中安全性由資料庫提供安全保證,必須通過授權才能使用儲存子程式,安全性靠應用程式來保證,如果能執行應用程式,就能執行該子程式。模式描述in引數用來從呼叫環境中向儲存過程傳遞值,不能給in引數賦值,給此引數傳遞的值可以是常量、有值的變數、表示式等。

5樓:茫茫人海一亮星

oracle儲存過程如何輸出資訊?可用dbms_output.put_line()對儲存過程的進行輸出。

編寫儲存過程:

create or replace procedure test_pro(in_num number)

asm number;

begin

m := in_num;

if 0< m then

dbms_output.put_line('輸出sql語句1');

elsif m< 3 then

dbms_output.put_line('輸出sql語句2');

else

dbms_output.put_line('nothing');

end if;

end;

擴充套件資料;

儲存在資料庫的資料字典中,儲存在當前的應用中安全性由資料庫提供安全保證,必須通過授權才能使用儲存子程式,安全性靠應用程式來保證,如果能執行應用程式,就能執行該子程式。模式描述in引數用來從呼叫環境中向儲存過程傳遞值,不能給in引數賦值,給此引數傳遞的值可以是常量、有值的變數、表示式等。

6樓:匿名使用者

如果你是使用pl/sql工具,在command 視窗下執行set serveroutput on

然後exec sp;

可以看到了

或者在sqlplus 中執行上面的**

7樓:匿名使用者

dbms_output.put_line

例如:sql> set serveroutput onsql> begin

2 dbms_output.put_line('hello world');

3 end;

4 /

hello world

pl/sql procedure successfully completed.

oracle包中定義全域性變數,oracle 包中定義全域性變數

package create or replace package p name as function f name v1 in out number return number procedure p name v1 in out number end p name package body c...

Oracle密碼過期怎麼修改,oracle資料庫密碼過期怎麼修改密碼

育知同創教育 開啟cmd,輸入sqlplus nolog,回車。2 輸入 conn as sysdba 3 輸入 alter user sys identified by 新密碼 注意 新密碼最好以字母開頭,否則可能出現錯誤ora 00988。有了這個方法後,只要自己對oracle伺服器有管理員許可...

oracle忘記使用者密碼,Oracle使用者密碼有效期和預設的有效期不對應

直接telnet上伺服器,或者直接在機房伺服器上面操作,用安裝oracle的使用者登入 sqlplus as sysdba alter user system identified by abc 就可以將system使用者的密碼改成abc了。alter user sys identified by ...