1樓:匿名使用者
select into 是複製表,不是給變數賦值啊哥哥select a.field_show_name , b.type into fieldshowname ,fieldtype這裡改成
select fieldshowname=a.field_show_name , fieldtype=b.type
+要改成||,再試一試?
你這個函式,只能返回一個值,所以每次只能查一條記錄。要是想查多條記錄,需要把函式的返回型別改成表變數。
2樓:
create or replace function getauth(processname in varchar2,activityname in varchar2,userid in number)
return varchar2 is
fieldshowname varchar2(2000);
fieldtype varchar2(255);
begin
select a.field_show_name , b.type into fieldshowname ,fieldtype from bas_bpm_form_table a
join bas_role_table_type b on a.id = b.table_id
join bas_security_role c on b.role_id = c.id
join bas_security_user d on c.id = d.id
where a.processname=processname and a.activityname=activityname and d.
id=userid and rownum<=1;
return fieldshowname || fieldtype ;
end;
select getauth('hetong','create',2) from dual
以上兩個問題都包含了,請認真檢視
oracle錯誤 ora-06502: pl/sql: 數字或值錯誤 : 字串緩衝區太小,請問各位,這個問題如何解決啊?
3樓:流浪雲風
你賦給變數的值的長度,超出了變數的長度。比如:
過程中定義了一個變數 a varchar2(2); -- a的長度為2
而在賦值時 a := '123123'; -- '123123'的長度為6
這樣就會出現你所遇到的問題,解決方法是找到變數,將其長度加大,注意:plsql中varchar2長度上限是4000
4樓:
如果沒有辦法避免的話,下方寫:
exception
when value_error then '數字超長';
5樓:匿名使用者
定義變數時,如果是表的屬性欄位,最好用表.屬性%type來定義變數.
6樓:多縌
後臺呼叫的時候賦值varchar2 的size,如果不賦值就會報錯
如:new oracleparameter("ddd",oracledbtype.varchar2) 不行,要賦值個字元長度
new oracleparameter("ddd",oracledbtype.varchar2,50)
6點34除以065保留整數約等於
6.34 0.65 9.8 用四捨五入法,9.8保留整數約等於10。六點三四除以零點六五等於多少,收拾計算,保留整數。6.34 0.65 9.75 用四捨五入法,9.75保留整數約是10。6.34 0.65 9.75 6.34 0.65 多少?得數保留整數,列豎式 6.34 0.65 634 65 ...
065的計數單位是它有個這樣的計數單位
0.65的計數單位是 0.01 它有 65 個這樣的計數單位 0.65的計數單位是 它有 個這樣的計數單位 0.65的計數單位是0.01,它有65個這樣的計數單位。0.65的計 數單位是0.01或百分之一。它有65個這樣的計數單位 我們常用的是十進位制計數法,所謂 十進位制 就是每相鄰的兩個計數單位...