Sql中如何给变量赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql中如何给变量赋值相关的知识,希望对你有一定的参考价值。
我在sql中用where选取了一行数据,有年龄、性别等,同时规定了一些变量n1、n2、n3、该如何把年龄等数值赋值给变量呢?
Sql中如何给变量赋值使用set关键字。
例表格tt结构如图:
下面语句声明一个@ii_test的整型变量,然后给变量赋值,并在SQL查询中调用变量
参考技术A DECLARE @n1 int,@n2 varchar(10)set @n1 =(select age from table where column=xxx)
set @n2=(select gender from table where column = xxx )
------------------
或者一起赋值
就是楼上那个
DECLARE @n1 int,@n2 varchar(10)
select @n1 =age,@n2=gender
from table where column = xxx
------------------
select @n1,@n2 就知道变量的值了本回答被提问者和网友采纳 参考技术B DECLARE @n1 int,@n2 varchar(10)
set @n1 =(select age from table where column=xxx)
set @n2=(select gender from table where column = xxx )
------------------
或者一起赋值
就是楼上那个
DECLARE @n1 int,@n2 varchar(10)
select @n1 =age,@n2=gender
from table where column = xxx
------------------
select @n1,@n2 就知道变量的值了 参考技术C
/*
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
参考技术D select @n1=年龄,@n2=性别 from table where ......存储过程给变量赋值
在存储过程中,怎么使用select给变量赋值啊?下面是我的存储过程,望高人指点,sqlserver2000的
CREATE PROCEDURE dbo.insertinto
@tablename1 varchar(200),
@tablename2 varchar(200),
@starttime varchar(200),
@endtime varchar(200),
@siteid varchar(200)
AS
declare @sql Varchar(4000),@sql1 varchar(4000),@stime varchar(200) ,
@etime varchar(200) ,@sql2 varchar(3000)--,@sql4 varchar(2000)
set @sql2 = N' delete from '+@tablename1+' where p004 between '''+@starttime+''' and ''' + @endtime +''''
exec(@sql2)
set @sql = N'insert into '+@tablename1+' select * from ' + @tablename2 +' where p004 between '''+@starttime+''' and ''' + @endtime +''''
exec(@sql)
set @sql1 = N'select '+ @stime +'= min(p004) ,'+ @etime+' = max(p004) from '+@tablename1
exec(@sql1)
update sitelist set starttime =@stime ,endtime = @etime where siteid = @siteid
GO
在我的存储过程上能给指出错误或者帮忙修改一下吗?改好追加20分,辛苦了!
或者直接
select @siteid=23
set @siteid=23
都可以
以上是关于Sql中如何给变量赋值的主要内容,如果未能解决你的问题,请参考以下文章