當前位置:首頁 » 編程語言 » sql自定義函數返回值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql自定義函數返回值

發布時間: 2022-03-11 23:07:10

sql自定義函數的返回值如何插入原有的表中

只能用帶返回參數(output)存儲過程來修改表中的數據! 備註:自定義函數不允許修改表中的數據,但是帶返回參數(output)存儲過程可以實現函數的功能!

❷ SQL自定義函數怎麼返回2個值

自定義函數,採用返回一張表,那麼就可以很多個值,目前我常採用這種方式,如下腳本所示:

createfunctionfun_test(@str1varchar(20))
returns@ttable(avarchar(10),bvarchar(10))
begin
insertinto@t(a,b)values('變數1','變數2')
end

請採納!

❸ pl/sql自定義函數如何返回多個值

表中也是要參數的啊,光給表了,人家怎麼知道你表裡要返回什麼啊~
RETURN @t TABLE【(f char(20),a char(20),b char(6),c datetime, d char(4) )】
【】裡面的是你要返回表中的參數
@t是你表名的參數
下面的insert你知道么?就是讀入這些參數到那個表中
然後返回輸出~

❹ 請教SQL自定義函數返回的例子

有記錄的話會輸出 學號,姓名,性別,課程名稱,成績,如果返回時空,在後台代碼做判斷吧
用的是mysql
delimiter
$$
create
function
name_of_function(kc
varchar(10))
//kc
課程名稱
return
char(8)
begin
//現在比如你傳的參數是會計
return
(
select
ST.學號,ST.姓名,ST.性別
,SC.課程名,SC.成績
from
st
ST
left
join
(select
S.學號,S.成績,C.課程名
from
s
S
left
join
c
C
on
S.課程號
=
C.課程號
and
C.課程名
=
'會計')
SC
on
st.學號
=
SC.學號
;

);
end$$
demiliter;

❺ sql 自定義函數 5個變數 最終返回變數值不同范圍時的另一個值的和

declare@Ageint
declare@W_Hnumeric
declare@Cupidvarchar(20)

declare@date_of_Birthdate
declare@Weightnumeric(5,2)
declare@Heightnumeric(5,2)
declare@Smokerchar(5)
declare@Salarychar(10)

set@date_of_Birth='1982-09-01'
set@Weight=58.0
set@Height=1.68
set@Smoker='NO'
set@Salary=60000

select@Age=floor(datediff(day,@date_of_Birth,getdate())/365.25)
select@W_H=@Weight/@Height

select@Cupid=
casewhen@Age>20and@Age<=30then'4'
when@Age>30and@Age<=40then'3'
when@Age>40and@Age<=50then'2'
when@Age>50then'4'else''end
+casewhen@W_H>=20and@W_H<25then'1'
when@W_H>=25and@W_H<30then'3'
when@W_H>=30and@W_H<35then'4'
when@W_H>=35and@W_H<40then'2'else''end
+casewhen@Smoker='Yes'then'0'
when@Smoker='NO'then'2'else''end
+casewhen@Salary>50000then'1'
when@Salary>=50000and@Salary<60000then'2'
when@Salary>=60000and@Salary<70000then'3'
when@Salary>=70000then'4'else''end

SELECT@Cupid

❻ sqlserver自定義函數如何返回結果集

定義一個返回值為表結構,然後返回表,這樣就可以了。

createfunctionfn_test(@avarchar(10))
returnstable(keyIdvarchar(20))
as
begin
declare@table(keyIdvarchar(20))
return@table
end

go

❼ sql或者oracle自定義函數.返回值,具體有什麼作用,什麼情況下需要調用自己寫的自定義函數

這個很好理解吧,,,
1、例如我函數一開始的參數為1,我想根據復雜的運算(函數中的轉換),將他變為例如'A',就用函數返回值了啊;
2、在舉個例子,如果我有很多數字,例如1,11,111這樣的情況,我不可能用case語句全寫出來,麻煩呀,他們有規律啊,這樣我就直接用函數,找出他們的規律,直接返回為A,AA,AAA這樣的了
3、一般調用的的情況,當然是你的原始數據和你想返回的數據,遵循了你寫的函數的規律,這樣的情況就直接調用函數,返回你需要的數據了

❽ 求一個SQL自定義函數 返回表

可以用如下方式來實現

select id,
substring(bz,number,CHARINDEX('+', bz + '+',number) - number) as bz

from dbo.tableA
join master..spt_values b
on number <= LEN(bz) and SUBSTRING('+' + bz,number,1) = '+' and b.type = 'P';

❾ 求助:sql中自定義函數,能否有多個返回值

1、可以返回Table,來解決多值問題;
2、如果函數不是放到SQL查詢語句中使用,建議改為sp。這樣可以返回多個值,且可類型不同。

❿ SQL自定義函數返回記錄

給你研究了兩種方法,看看把:
create table 學生表 (學號 varchar(12),姓名 varchar(20))
go
insert into 學生表 values ('1','張三')
insert into 學生表 values ('2','李四')
go
create function f_info
(@id varchar(12))
returns @result table (學號 varchar(12),姓名 varchar(20))
as
begin
insert into @result select * from 學生表 where 學號=@id
return
end
go
select * from dbo.f_info('1')
go
create procere p_info (@id varchar(12))
as
select * from 學生表 where 學號=@id
go
exec p_info '1'