
下面将为您介绍SQL变量从select,INSERT获取值的单值情况及记录集情况的操作,供您参考,希望对您学习sql变量会有所帮助。
use Northwind
–整形sql变量的赋值
declare @addr intset @addr = (select sum(power(2,cast(EmployeeID as integer))) as addr from employees )print ‘员工id的平方和为:’+cast(@addr as varchar(10))
–浮点数sql变量的赋值
declare @total floatset @total = (select sum(freight) as freight from Orders)print ‘所有商品的总运费为:’+cast(@total as varchar(10))
–记录集sql变量的赋值
declare @tb table(id int,name varchar(20),country varchar(20))insert into @tb select employeeid,firstname+’ ‘+lastname,country from employeesselect * from @tbselect a.name,b.customerId,b.freight from @tb a,orders b where a.id=b.employeeid
关键点:单值情况下,select一定要用括号
【编辑推荐】
Transact-SQL变量的声明
设置Transact-SQL变量中的值
SQL变量定义赋值及调用
教您使用SQL参数变量来传递记录值
SQL中的指示变量及数组变量
如何在SQL Server里实现select * from 存储过程
事实上是没有办法直接实现的,你需要分两步走,第一步,把执行好的结果放入一张表中,可以是你建立的表,也可以是临时表。 第二步,从表中查询对应数据。 这样才可以。 存储过程数据插入表语法insert into 表明exe 存储过程名其实我不太理解你为什么要这样做,如果存储过程是个查询,那么所有的数据处理和数据统计都可以在存储过程中写的,无需这样做。 你能说下需求么?当然如果你觉得你每次都要执行,用起来麻烦,那么你可以做成一个作业,放在服务器上定时的自动跑。 然后查询表名字就可以了
在java中添加数据,如何使用SQL Server中的自增数据
如果是sqlserver的话 可以直接用 insert into table values(1,2,3);不用写列名后面的值 直接不写自增列就行了但是 自增列必须是主键 必须在第一列 如果有非空列 必须要有值如果要指定列名 就这么写insert into table (a,b,c) values(1,2,3);
MS-SQL中如何求两行指定列的数据差?
select ,() value from tables a,tables b where =(-1) order by
发表评论