易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL中获得EXEC后面的sql语句或返回值的方法

SQL中获得EXEC后面的sql语句或返回值的方法
前言:在数据库程序开发的过程中,我勱们经常会碰到学习利用EXEC来执行一段需要返回某些值的sql语句(通常是构造动态sql语句时使用),或者在一个HTML存储过程中利用EXEC调用另一个HTML有返回值的存储过程(必须获得返回值),那么如何获得这些返回值呢?
1.EXEC执行sql语句的情况
declare @rsql varchar(250)
declare @csql varchar(300)
declare @rc nvarchar(500)
declare @cstucount int
declare @ccount int
set @rsql='(select Classroom_id from EA_RoomTime where zc='+@zc+' and xq='+@xq+' and T'+@time+'=''否'') and ClassroomType=''1'''
--exec(@rsql)
set @csql='select @a=sum(teststucount),@b=sum(classcount) from EA_ClassRoom where classroom_id in '
set @rc=@csql+@rsql
exec sp_executesql @rc,N'@a int output,@b int output',@cstucount output,@ccount output--将exec的结果放入变量中的做法
--select @csql+@rsql
--select @cstucount
上面的@rc这个HTMLsql语句的功能是找出特定时间段里所有有空的教室数量以及这些教室所能容纳的学生人数,因为涉及到学习动态的sql语句(@csql这句里条件中有一个HTML列名是动态变化的)的构造,所以要放在exec里执行,但是同时我勱又要返回2个HTML结果,所以执行时的代码为:
exec sp_executesql @rc,N'@a int output,@b int output',@cstucount output,@ccount output--将exec的结果放入变量中的做法
这样就将返回值放到学习了,@cstucount,@ccount两个HTML变量中,得到学习了我勱们想要的结果。
2.exec执行带返回值的存储过程的情况
我勱们来看一个HTML简单的存储过程:
create procedure ProTest
(
@name varchar(10),
@money int output
)
as
begin
if(@name='1')
set @money=1000
else
set @money=2000
end
这个HTML只是一个HTML简单的示例,这个HTML存储过程返回的是@money 这个HTML参数的值,那么当我勱们在另外一个HTML存储过程中调用此存储过程的时候如何获取这个HTML参数呢,方法如下:
declare @m int ---用来接收返回值的变量
exec ProTest @name='1',@money=@m output --一定要注名是output
就这么简单,我勱们就获得了返回值。
 


相关文档:

使用PL/SQL Developer工具导入excel和导出excel

导出:
1.执行
select 语句查询出需要导出的数据.
2.在数据列表中右键,选择save
results.保存为.csv文件,然后已excel方式打开就OK了.可以另存为xsl。需要注意的是如果列内容是纯数字
的话,导出时会自动把前面的0去掉,想要导出完整的列内容,最好这列的内容拼一个字符如:select  ‘#’||Column from ......

SQL sever 循环语句

for i=0,i++,i<@num
select dateadd(DAY,GETDATE(),I)
请问上面的语句怎么改写才正确???
Transact-SQL 参考
WHILE
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
语法
WHILE Boolean_expression
{ s ......

sql server

exec sp_spaceused [[@objname=]'objname'][,[@updateusage=]'updateusage']
检查数据库空间大小
 dbcc   showfilestats
统计数据文件的使用情况
 dbcc   showcontig
检查数据库控件分配情况
 dbcc   sqlperf(logspace)
查看日志文件的使用情况 ......

SQLite不支持的SQL语法总结


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......

SQL游标原理和使用方法

SQL游标原理和使用方法
数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。
1.1 游标和游标的优点
    在数据 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号