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

sql存儲過程參數賦值

發布時間: 2023-02-19 12:08:51

⑴ 在sql存儲過程中,如何聲明變數,賦值變數。最好有具體語句配上實例。3Q啦。謝謝各位大俠的幫忙

/*
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 --使用該變數

⑶ 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 存儲過程中傳遞的參數賦值為'',如何在VB.NET中實現動態參數賦值

結構化查詢和存儲的時候 nothing 這里不寫

Comm.Parameters.Add("@CfgID",SqlDbType.Int).Value=Nothing
Comm.Parameters.Add("@UserID",SqlDbType.Int).Value=Nothing

這兩句代碼刪除掉

⑸ SQL存儲過程賦值問題

你用動態查詢的話,可以使用臨時表來解決這個問題,思路是:
1、將動態查詢出來的數據暫存臨時表
2、動態查詢結束後使用SQL再從臨時表中獲取存儲的數據賦值給變數
3、銷毀臨時表

⑹ 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 將存儲過程的結果賦值給變數

set @id=(GetsystemNo 'CXD')

修改為

set @id=GetsystemNo ('CXD')

看看?

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

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

⑼ 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;

熱點內容
具有加密地址 發布:2025-07-12 22:38:39 瀏覽:157
弧AC3演算法 發布:2025-07-12 22:37:51 瀏覽:491
電腦伺服器連接財務軟體 發布:2025-07-12 22:15:16 瀏覽:355
安卓如何用應用的通訊錄 發布:2025-07-12 22:15:01 瀏覽:668
墨西哥訪問 發布:2025-07-12 22:14:11 瀏覽:682
排解壓力的經歷 發布:2025-07-12 21:58:43 瀏覽:96
微支付介面java 發布:2025-07-12 21:56:53 瀏覽:913
JAVA擴展 發布:2025-07-12 21:51:08 瀏覽:150
忘記華為賬號密碼如何更改 發布:2025-07-12 21:43:20 瀏覽:777
字體android 發布:2025-07-12 21:30:38 瀏覽:621