PLSQL開發心得一二

2021-10-10 11:37:28 字數 2463 閱讀 6915

一、關聯查詢,哪邊有(+)哪邊就補空

select a.id,b.id from a,b where a.id = b.aid(+)

/**結果為

a.id b.id

1 3232

2

3 5454

*/

二、分組後查詢最大值

select a.*

from (select row_number() over(partition by paaf.person_id order by paaf.effective_end_date desc) rn,

paaf.*

from per_all_assignments_f paaf where paaf.person_id = 64) a where a.rn=1

三、forall語句

批量執行insert、update 和 delete 操作時,可以使用 forall 語句。

declare  

type tb_table_type is table of tb1%rowtype

index by binary_integer;

tb_table tb_table_type;

begin

for i in 1..10 loop

tb_table(i).id:=i;

tb_table(i).name:='name'||i;

end loop;

forall i in 1..tb_table.count

insert into tb1 values tb_table(i);

end;

四、報表輸出數字

當報表輸出員工編號或者身份證之類的資料時,excle會預設為這些資料為數字,這樣會導致變科學計數法或者是編號前面的0被去掉,之前的解決辦法是=「資料」,現在還有另外乙個辦法。

xxt_inf_item_html_pkg.cell(res.national_identifier,

'mid',

p_style => 'mso-number-format:''@''',--增加乙個屬性,讓他變成文字屬性

p_width_pct => 2);

五、值集的關聯

例如:a值集為ou公司,b值集為庫存組織,需要根據選擇的ou公司來查詢庫存組織,那麼b值集應該加乙個條件:b.operation_unit = :$flex$.a

:$flex$.值集簡稱

六、策略(許可權控制)

begin

-- call the procedure

dbms_rls.add_policy(object_schema => :資料表(或檢視)所在的schema名稱/使用者,

object_name => :資料表(或檢視)的名稱,

policy_name => :policy的名稱

function_schema => :返回where子句的函式所在schema名稱/使用者,

policy_function => :返回where子句的函式名稱,

statement_types => :要使用該policy的dml型別,如'select,insert,update,delete',

update_check => 僅適用於statement_type為'insert,update',值為'true'或'false',

enable => 是否啟用,值為'true'或'false',

static_policy => 預設值為false。如果它被設定為true則所有使用者啟用該策略,sys或特權使用者例外。

policy_type => :預設值是null,意味著static_policy的值決定,在這裡指定任何策略將覆蓋static_policy的值。

long_predicate => long_predicate,

sec_relevant_cols => :敏感的欄位名稱,

sec_relevant_cols_opt => :設定為dbms_rls.all_rows來顯示所有的行,敏感的列的值為null);

end;

七、日期字符集

當使用next_day(sysdate, '星期一')時,因為時間字符集的問題,可能會報ora-01846:週中的日無效。這時有兩種解決辦法:

--修改時間字符集為zhs

execute immediate 'alter session set nls_date_language=''simplified chinese''';

--1對應週日,2對應周一

select next_day(sysdate, 2) from dual;

pl sql常見使用心得

1 plsql怎麼設定雙擊表名就查出表資料 選單tool preference browser 右邊的 object type 選擇table double click action 選擇query data 之後選擇ok即可,雙擊表名就查出表資料了 2 如何設定tables sequences 等...

AS 開發心得

as開發心得 隨著大web時代的來臨,越來越多的開發工作從c s模式轉到b s 模式。前不久公司與某電商合作推出3d內容展示應用。儘管最終結果並不理想,還是就過程中的一些問題總結一下。和所有的指令碼語言類似actionscript 簡稱as 的使用很容易上手。as3.0以前的版本,更多的是面向過程的...

學習Web前端開發感想一二

辭掉工作後,想從事前端開發,躲在宿舍看書,看了一本別人推薦的 web前端開發修煉之道 這本書通過作者自己的開發經驗,著重講解了在web開發中一些習慣性問題。在web前端中我最熟悉的,也最自信的是div css布局。這是web前端開發的基礎,看完前三章之後,突然覺得,自己的一些習慣需要糾正。記錄下來引...