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

存儲過程賦值

發布時間: 2022-02-20 23:41:45

sql存儲過程中怎樣給變數賦值

exec
是執行存儲過程的命令,不能作為存儲過程名
而且你這個似乎是希望用變數轉換成SQL命令,不是這樣用法的

Ⅱ oracle 存儲過程賦值的方法

標量賦值:
格式:名字 類型 := 賦值內容
例子:aa varchar(5):= 'ss';

總共我知道的有4中:1.標量,2.顯示變數,3聲明記錄,4索引表

Ⅲ mysql 存儲過程怎麼賦值

DELIMITER$$
USE`test`$$
DROPPROCEDUREIFEXISTS`p_getAllTablesCount`$$
CREATEDEFINER=`root`@`localhost`PROCEDURE`p_getAllTablesCount`()
BEGIN
DECLAREtableNameVARCHAR(100);
DECLAREtablesnVARCHAR(100);
DECLAREtableCountINT;
DECLAREstopFlagINT;
DECLAREsqlStrVARCHAR(1000);
--注意:請修改資料庫名稱
DECLAREcursor_nameCURSORFORSELECTTABLE_NAMEFROMinformation_schema.tablesWHEREtable_schema='test';
'02000'SETstopFlag=1;
CREATETABLEIFNOTEXISTStemp_table(table_nameVARCHAR(100),table_countVARCHAR(100));
OPENcursor_name;
REPEAT
FETCHcursor_nameINTOtableName;
SETsqlStr=CONCAT('SELECTCOUNT(1)into@tableCountFROM',tableName);
SELECTsqlStrINTO@sqlStr;
--select@sqlStr;
SELECT@tableCountINTOtableCount;
BEGIN
@sqlStr;
EXECUTEstepInsertIntoTable;
END;
SETsqlStr=CONCAT('insertintotemp_tablevalues(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECTsqlStrINTO@sqlStr;
BEGIN
@sqlStr;
EXECUTEstepInsertIntoTable;
END;
UNTILstopFlagENDREPEAT;
CLOSEcursor_name;
SELECTtable_name,table_countFROMtemp_tableORDERBYtable_countDESC;
--PREPAREstepFROM@sql1;
--EXECUTEstep;
DROPTABLEtemp_table;
END$$
DELIMITER;

Ⅳ 在存儲過程中給變數賦值的問題:

--樓主我幫你解答
--樓主這個只是一個簡單的腳本 不是存儲過程
--然後你聲明的變數 和下面調用的變數不一樣 肯定報錯了
--declare 聲明變數 是要賦給初始值的 否則也會報錯
declare @ERRTYPE nvarchar(50)=''--這里是聲明一個變數
select @ERRTYPE = sum(xx) from A
print (@ERRTYPE) --這里可以把變數值顯示出來
--有什麼問題可以隨時找我 希望採納

Ⅳ SQL存儲過程定義的變數賦值問題

你都把欄位值加起來了,那還要SUM()函數幹嘛呢?直接寫成wcfy:=select ZSF+QTFY+CCF+CCBZFY+WCRLF from LQSHDWCSQD where WCDH=dh_in;
就可以了(如果欄位ZSF,QTFY,CCF,CCBZFY,WCRLF是在一條記錄里的話 )。

Ⅵ 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

Ⅶ 存儲過程參數賦值問題

你這個SQL列印下來,應該是....where BName=ad ,BName是字元型的,所以要改成...where BName='ad' 試試。還有你的資料庫用的是SQLServer還是Oracle,兩種資料庫對轉義字元的寫法略有不同

Ⅷ 存儲過程賦值的問題

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

熱點內容
文件夾中毒了文件怎麼辦 發布:2025-05-09 16:26:23 瀏覽:247
手機改無線網密碼怎麼改 發布:2025-05-09 16:08:26 瀏覽:517
汽油機壓縮沖程 發布:2025-05-09 16:06:11 瀏覽:109
php驗證類 發布:2025-05-09 16:06:11 瀏覽:656
加工中心手動編程 發布:2025-05-09 15:59:59 瀏覽:928
sql查詢父節點所有子節點 發布:2025-05-09 15:53:19 瀏覽:640
傭金寶密碼忘了怎麼辦 發布:2025-05-09 15:53:19 瀏覽:628
為什麼安卓手機進入不了敏捷家園 發布:2025-05-09 15:53:14 瀏覽:588
web伺服器python 發布:2025-05-09 15:49:50 瀏覽:179
爬蟲需要自己搭建伺服器嗎 發布:2025-05-09 15:28:48 瀏覽:109