當前位置:首頁 » 存儲配置 » 存儲過程表變數賦值

存儲過程表變數賦值

發布時間: 2022-07-26 08:41:27

① mysql 存儲過程中變數的定義與賦值操作

一、變數的定義
mysql中變數定義用declare來定義一局部變數,該變數的使用范圍只能在begin...end
塊中使用,變數必須定義在復合語句的開頭,並且是在其它語句之前,也可以同時申明多個變數,如果需要,可以使用default賦默認值。
定義一個變數語法如下:
declare
var_name[,...]
type[default
value]看一個變數定義實例
declare
last
date;二、mysql存儲過程變數賦值
變數的賦值可直接賦值與查詢賦值來操作,直接賦值可以用set來操作,可以是常量或表達式如果下
復制代碼
代碼如下:
set
var_name=
[,var_name
expr]...給上面的last變數賦值方法如下
set
last
=
date_sub(
current_date(),interval
1
month);下面看通過查詢給變數賦值,要求查詢返回的結果必須為一行,具體操作如下
select
col
into
var_name[,...]
table_expr我們來通過查詢給v_pay賦值。
create
function
get
_cost(p_custid
int,p_eff
datetime)
return
decimal(5,2)
deterministic
reads
sql
data
begin
declare
v_pay
decimail(5,2);
select
ifnull(
sum(pay.amount),0)
into
vpay
from
payment
where
pay.payd<=p_eff
and
pay.custid=pid
reutrn
v_rent
+
v_over
-
v_pay;
end
$$
好了,這篇簡單的存儲過程中變數的定義賦值教程就到這里了,下面我們會接著講關於myql存儲過程的條件的定義與處理。
以下是其它網友的補充
在MySQL的存儲過程中,可以使用變數,它用於保存處理過程中的值。
定義變數使用DECLARE語句,語法格式如下:
DECLARE
var_name[,...]
type
[DEFAULT
value]
其中,var_name為變數名稱,type為MySQL支持的任何數據類型,可選項[DEFAULT
value]為變數指定默認值。一次可以定義多個同類型的變數,各變數名稱之間以逗號「,」隔開。
定義與使用變數時需要注意以下幾點:

DECLARE語句必須用在DEGIN…END語句塊中,並且必須出現在DEGIN…END語句塊的最前面,即出現在其他語句之前。

DECLARE定義的變數的作用范圍僅限於DECLARE語句所在的DEGIN…END塊內及嵌套在該塊內的其他DEGIN…END塊。

存儲過程中的變數名不區分大小寫。
定義後的變數採用SET語句進行賦值,語法格式如下:
SET
var_name
=
expr
[,var_name
=
expr]
...
其中,var_name為變數名,expr為值或者返回值的表達式,可以使任何MySQL支持的返回值的表達式。一次可以為多個變數賦值,多個「變數名=值」對之間以逗號「,」隔開。
例如:
復制代碼
代碼如下:
begin
declare
no
varchar(20);
declare
title
varchar(30);
set
no='101010',title='存儲過程中定義變數與賦值';
end
提示:存儲過程中所有的關鍵字也是不區分大小寫的,如BEGIN可以寫出begin。

② 存儲過程中表名為變數,並且查詢結果要賦給另一個變數

賦值號前面是變數名;
賦值號後面是表達式;
表達式可以是常量,比如:a=1;
也可以是:
a=1;
b=a*4+5;
表達式的形式比較多,慢慢接觸就熟悉了。

③ 存儲過程賦值的問題

把該聲明的聲明下,declare @strSQL.....然後print @strSQL 從控制台拿出sql再一步一步的排錯。類似:
declare @temp_str nvarchar(500)
set @......
print @temp_str
exec @temp_str

④ 在存儲過程中怎麼表的全部數據賦值給變數

不知道是否存在直接輸出此類JSON格式的函數或SQL擴展語法。

土一些的方法:
》游標訪問
》對每條記錄:組裝結果

⑤ plsql怎樣把存儲過程中查詢的表的值賦給變數

select count(*) into x from a
在ORACLE裡面直接這么寫就可以了。

⑥ 在存儲過程中將一個變數的值賦值給某個表的欄位中某個變數

用字元串的replace啊。

select@SMTMPSSql=replace(@SMTMPSSql,'@User',@UserCode);

⑦ oracle的存儲過程,為什麼不允許直接在變數里賦值

oracle的存儲過程,不允許直接在變數里賦值是因為oracle存儲過程定義時並不會初始化變數的內存大小,只有使用的時候才會去分配。
oracle的存儲過程的基本語法:
一:存儲過程分部解析:
1 CREATE OR REPLACE PROCEDURE 存儲過程名
2 IS
3 BEGIN
4 NULL;
5 END;

行1:
CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle資料庫去創建一個叫做skeleton存儲過程, 如果存在就覆蓋它;
行2:
IS關鍵詞表明後面將跟隨一個PL/SQL體。
行3:
BEGIN關鍵詞表明PL/SQL體的開始。
行4:
NULL PL/SQL語句表明什麼事都不做,這句不能刪去,因為PL/SQL體中至少需要有一句;
行5:
END關鍵詞表明PL/SQL體的結束
二:存儲過程創建語法:
create or replace procere 存儲過程名(param1 in type,param2 out type)
as
變數1 類型(值范圍); --vs_msg VARCHAR2(4000);
變數2 類型(值范圍);
Begin
//這里才可以給變數賦值
Select count(*) into 變數1 from 表A where列名=param1;

If (判斷條件) then
Select 列名 into 變數2 from 表A where列名=param1;
Dbms_output。Put_line(『列印信息』);
Elsif (判斷條件) then
Dbms_output。Put_line(『列印信息』);
Else
Raise 異常名(NO_DATA_FOUND);
End if;
Exception
When others then
Rollback;
End;

⑧ Sql server 存儲過程中怎麼將變數賦值

/*
Sql server 存儲過程中怎麼將變數賦值
*/

--SQL賦值語句
DECLARE @test1 INT
SELECT @test1 = 111
SET @test1 = 222

--SQL函數賦值,假定count()是自定義函數
DECLARE @test2 INT
SELECT @test2 = COUNT(*) FROM sys.sysobjects

--SQL存儲過程賦值,直接傳參處理(類似C語言中的指針嗎)
IF OBJECT_ID('sp_test') IS NOT NULL DROP PROCEDURE sp_test
GO
CREATE PROCEDURE sp_test(@test INT OUTPUT)
AS
BEGIN
SELECT @test = 999
END
GO

DECLARE @test3 INT
EXEC sp_test @test3 OUTPUT
SELECT @test3

DROP PROCEDURE sp_test
GO

⑨ mssql 的 存儲過程 變數賦值問題

自動生成的id 一般是增量的,所以用提取最大值的方法取的最新ID,
設表TABLE0有欄位ID,FIELD1,FIELD2,FIELD3四個欄位,這樣:
DECLARE @NEWID INT--聲明新ID變數
INSERT INTO TABLE0(FIELD1,FIELD2,FIELD3) SELECT FIELD1 FIELD2 FIELD3 FROM TABLE1 WHERE FIELD1='XXXX' .......--插入語句
IF @@ROWCOUNT>0 --如果插入了新行
SET @NEWID=(SELECT MAX(ID) FROM TABLENAME) --給新ID賦值
select @newid as 新ID --使用該變數

⑩ 存儲過程給變數賦值

select @siteid=id from table
或者直接
select @siteid=23
set @siteid=23
都可以

熱點內容
十二萬左右捷達車配置質量怎麼樣 發布:2024-05-16 12:17:00 瀏覽:597
葯品銷售資料庫 發布:2024-05-16 12:06:00 瀏覽:761
自動清理緩存的圖片 發布:2024-05-16 11:50:13 瀏覽:813
怎麼設置開機密碼win8 發布:2024-05-16 11:49:59 瀏覽:826
ssh訪問伺服器文件 發布:2024-05-16 11:16:11 瀏覽:522
方舟編譯器外國 發布:2024-05-16 11:16:10 瀏覽:965
莜麥眾包安卓怎麼下載 發布:2024-05-16 11:15:09 瀏覽:283
鑫天宇拉桿箱如何設置密碼 發布:2024-05-16 10:29:34 瀏覽:707
國內伺服器推薦雲 發布:2024-05-16 10:28:11 瀏覽:580
車險保單下載後需解壓密碼 發布:2024-05-16 10:20:32 瀏覽:184