存储过程

原创 2004年08月17日 17:05:00

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_GenDeptTable]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_GenDeptTable]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE procedure sp_GenDeptTable (
 @cols int,
 @tds varchar(50) ,
 @trs varchar(50) ,
 @tables varchar(50)
)
as
declare @r table (
 v varchar(8000)
)
declare @did bigint,
  @pid bigint,
  @dname varchar(1000),
  @pname varchar(1000),
  @i int, @n varchar(1000),
  @v varchar(8000)
declare c cursor for
 select d0.deptid, d0.name, d1.deptid,
  '<input type="checkbox" name="d_' + convert(varchar(1000), d0.deptid) + '_' + convert(varchar(1000), d1.deptid) + '" onclick=checkvalue(this) value = "' +d1.name + '" id="' +convert(varchar(1000), d1.deptid) + '">' + d1.name + '</input>'
 from department d0
  inner join department d1 on d0.deptid = d1.parentdeptid and d0.parentdeptid is null
 order by d0.deptid, d1.deptid
open c
fetch from c into @pid, @pname, @did, @dname
select @v = @tables + @trs
select @n = ''
while @@fetch_status = 0
begin
 if @n <> @pname
 begin
  select @n = @pname
  insert into @r values ('<input type="checkbox" name="g_'+convert(varchar(1000), @pid)+'" onclick=checkvalue(this) value = "' +@pname+ '" id="' + convert(varchar(1000), @pid) + '">' + @pname + '</input>')
 end
 select @v = @tables + @trs + @tds + @dname + '</td>'
 select @i = 0

 fetch next from c into @pid, @pname, @did, @dname
 while @@fetch_status = 0 and @i < @cols-1 and @pname = @n
 begin
  select @i = @i + 1
  select @v = @v + @tds + @dname + '</td>'
  fetch next from c into @pid, @pname, @did, @dname
 end

 while @i < @cols - 1
 begin
  select @v = @v + @tds + '</td>'
  select @i = @i + 1
 end
 select @v = @v + '</tr></table>'
 insert into @r values (@v)
end
close c
deallocate c
select v as '选择发文范围' from @r
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

5个不同的系统中的存储过程

  • 2010年04月22日 23:47
  • 9KB
  • 下载

存储过程循坏

  • 2017年10月30日 13:44
  • 714B
  • 下载

sql存储过程的创建

  • 2009年11月13日 20:42
  • 482B
  • 下载

破解存储过程破解存储过程

  • 2009年02月17日 14:46
  • 5KB
  • 下载

MyBatis 示例之存储过程(一)

本示例是《MyBatis 从入门到精通》书中第一个存储过程的例子,有关本示例的基础环境,可以从 http://mybatis.tk 或者 https://github.com/mybatis-book...
  • isea533
  • isea533
  • 2017-07-29 21:04:46
  • 3947

SQL存储过程教程,教程,存储过程

  • 2011年04月19日 13:44
  • 190KB
  • 下载

存储过程几种写法

存储过程几种写法 1)创建使用参数的存储过程Create Proc au_info @lastname varchar(40),@firstname varchar(20)AsSelect  au_l...
  • donitz126
  • donitz126
  • 2007-08-10 08:41:00
  • 15516

sybase 存储过程 示例

表:student 列:STUDENT_ID, NAME, AGE, SEX,TEACHER_ID 表:teacher 列:TEACHER_ID,NAME,AGE,SEX,SALARY,STUDEN...
  • skyfred
  • skyfred
  • 2016-07-12 16:39:14
  • 1708

存储过程学习总结

SQLSERVER存储过程使用说明书   引言 首先介绍一下什么是存储过程:存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,并且这样的语句是放在数据库中的,还...
  • zhoujn90
  • zhoujn90
  • 2013-08-27 20:37:33
  • 3582

thinkphp调用存储过程

thinkphp貌似不能直接调用存储过程,要用原生的方法。 代码如下:$userInfo_proc = "call proc_get_userinfo_details(".$data['userid...
  • u010742206
  • u010742206
  • 2016-09-07 18:17:19
  • 2521
收藏助手
不良信息举报
您举报文章:存储过程
举报原因:
原因补充:

(最多只允许输入30个字)