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

存儲過程賦值

發布時間: 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

熱點內容
linux進入根目錄 發布:2025-03-15 06:51:48 瀏覽:44
美國人用什麼伺服器 發布:2025-03-15 06:51:43 瀏覽:218
為什麼安卓4k只能錄5分鍾 發布:2025-03-15 06:49:31 瀏覽:53
為什麼安卓機拍視頻60幀沒防抖 發布:2025-03-15 06:48:50 瀏覽:211
訪問量QQ 發布:2025-03-15 06:41:30 瀏覽:13
ajax多文件上傳 發布:2025-03-15 06:08:37 瀏覽:842
游戲編程工作室 發布:2025-03-15 06:07:13 瀏覽:374
榮放先鋒版的配置有哪些 發布:2025-03-15 06:06:37 瀏覽:484
什麼編程軟體最好 發布:2025-03-15 05:57:13 瀏覽:602
安卓手機怎麼看國內 發布:2025-03-15 05:43:01 瀏覽:731