当前位置:首页 » 存储配置 » 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-13 01:04:46 浏览:606
java通信方式 发布:2025-07-13 01:04:42 浏览:979
如何玩好云服务器 发布:2025-07-13 01:02:18 浏览:644
linux访问hive 发布:2025-07-13 01:00:34 浏览:386
中欧压缩机 发布:2025-07-13 00:53:13 浏览:832
国内我的世界电脑版服务器 发布:2025-07-13 00:51:31 浏览:898
qq黄钻设置隐身访问 发布:2025-07-13 00:50:56 浏览:100
苹果和安卓哪个看小说方便 发布:2025-07-13 00:20:25 浏览:756
网址访问量查询 发布:2025-07-13 00:13:25 浏览:977
thinkphp关掉缓存 发布:2025-07-12 23:44:01 浏览:88