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

存儲過程賦值

發布時間: 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-02-02 09:48:54 瀏覽:433
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:744
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:147
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:240
java駝峰 發布:2025-02-02 09:13:26 瀏覽:652
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726