在SqlServer中用自定义函数返回动态表内容
说明:在SupplyPlan表中,存储着每一个RequestQty及其对应的开始终止日期段;因为我在以后处理中要判断当前天属于哪一条RequestQty的日期区间并进行处理,所以后台数据库只能设计成这种存储形式;但是在页面的显示时候,需要动态的根据每一个SupplyPlanNo生成对应的多条日期区段及其数量显示,所以采用自定义函数形式返回处理以后的动态记录集!返回的字段@AllRequestQty为"1|13|5|8"形式,在asp中就可以采用split函数分组从而动态显示字段。
/*
** add by wls For: convert many lines of SP datas to one char group by vehicle,part
*/
CREATE FUNCTION xzc.fn_getContent_SupplyPlan
(@s_p_no int = NULL,
@viewFlag varchar(1) = ''
)
RETURNS @fn_getContent_SupplyPlan TABLE
(
ID varchar(8000),
SupplyPlanNo int,
Vehicle varchar(25),
Sort varchar(20),
Part varchar(25),
RequestQty varchar(8000),
Remark varchar(255)
)
AS
BEGIN
DECLARE @sVehicle varchar(25), @sSort varchar(20)
DECLARE @sPart varchar(25), @iVehicle varchar(25)
DECLARE @iPart varchar(25), @sRemark varchar(255)
DECLARE @RequestQty int , @theID int
DECLARE @AllRequestQty varchar(8000), @allID varchar(8000)
select @AllRequestQty = ''
select @allID = ''
/*Outer CURSOR*/
DECLARE getVehiclePartSP CURSOR SCROLL FOR
select distinct Vehicle, Sort, Part from SupplyPlan
where SupplyPlanNo = @s_p_no and ViewFlag = @viewFlag
/* --Order by ID desc
select Vehicle, Sort, Part from (select min(ID) as ID, Vehicle, Sort, Part from SupplyPlan
相关文档:
如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,
可以用管理->SQL Server代理->作业来实现。
1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
分类处可选择也可 ......
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
......
我装的是Xp系统,当我装Sql Server2000数据库后,用Java程序来进行数据库连接时出错了,发现是1433端口没有打开,在网上找了些解决办法,方法说的不是很清楚,还有点罗嗦了。我解决后发现办法是:首先是查看你的版本,可以用select @@version来查看。装完Sql Server 2000 1433端口有是没有打开,可以用net -an -p tcp ......
SQL Server 支持临时表。临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。
临时表有两种类型:
本地临时表
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看 ......
SQLSERVER 2000
每次打开SQLServer查询分析器后,在连接窗口里的SQLServer服务器选择下拉框和登录用户名输入框里都会留有历史登录的记录,有时候我们是不希望这样的,比如在一个非私有领地做了暂时的开发后,不想留下任何连接远程数据库的记录,如何删除呢?还是注册表,找到以下路径:
HKEY_CURRENT_USER\Software\Micr ......