`
java-mans
  • 浏览: 11442082 次
文章分类
社区版块
存档分类
最新评论

从存储过程例子的总结

 
阅读更多

1.

CREATE PROCEDURE sp_split

AS
declare @mg varchar(200)
declare @i int
set @mg='AA,BB,CCC'
set @i=charindex(',',@mg)
while @i>=1
begin
set @mg=substring(@mg,@i+1,len(@mg)-@i)
print(@mg)
set @i=charindex(',',@mg)

end

GO

2.

CREATE PROCEDURE sp_test --查找提取
as
declare @i int
declare @strLen int
declare @str varchar(512)
declare @str1 varchar(512)
declare @str2 varchar(512)
declare @position smallint

set @str='癌、恶性、肉瘤、淋巴瘤,排除:未见癌、不见癌'
set @strLen=LEN(@str)
set @i=1

set @position=charindex(',',@str)
print @position
set @str1=substring(@str,1,@position-1)
set @str=right(@str,(len(@str)-@position))

set @position=charindex(';',@str)
set @str2=substring(@str,1,@position-1)
set @str=right(@str,(len(@str)-@position))

print @str1
print @str2
print @str
while @i<@strLen+1
begin
print(Substring(@str,@i,1))
set @i=@i+1
end

GO

3.

/*
declare @msg as varchar(512)
exec sp_expExcle 15,'C:\Users\Administrator\Desktop\dkj\导出数据\12.xls',@msg output
select @msg
drop PROCEDURE sp_expExcle
go
*/


CREATE PROCEDURE sp_expExcle --导出excel文件
@itemid int=0,
@path VARCHAR(512)='',
@msg VARCHAR(512)='' output
AS

declare @str as varchar(8000)
set @str=''

set @str = 'bcp "select ''科室编号'' as DESKNO,''性别'' as SEX,''年龄'' as AGE ,''检查部位'' as CHECK_PART ,''影像描述'' as IMAGE_DEL ,''影像诊断'' as IMAGE_DIAGNOSE ,''登记日期'' as REGISTER_DATE ,''报告日期'' as REPOAT_DATE ,''审核日期'' as CHACK_DATE union all select DESKNO,SEX,AGE,CHECK_PART,IMAGE_DEL,IMAGE_DIAGNOSE,REGISTER_DATE,REPOAT_DATE,CHACK_DATE from Hospital.dbo.HOS_PICKUP where ITEM='+ str(@itemid)+'" queryout "' +@path+ '" -c -S127.0.0.1 -Usa -P111111'


print @str

Exec master..xp_cmdshell @str
--Exec master..xp_cmdshell 'bcp "select ''编号'' as id,''名称'' as NAME,''备注'' as REMARK union all select cast(id as varchar(8) ),NAME,REMARK from Hospital.dbo.HOS_ITEM" queryout "c:\aa.xls " -c -S127.0.0.1 -Usa -P111111 '

declare @ncount as int
set @ncount=0
select @ncount=count(*) from Hospital.dbo.HOS_PICKUP where ITEM=@itemid

set @msg = '成功导出'+cast(@ncount as varchar(30) )+'条数据。' --导出后,显示在导出excel按钮的旁边
print @msg
GO

总结:

1)将int 转换为 varchar :cast(@ncount as varchar(30) )

2)定义varchar: declare @str as varchar(8000)
int :declare @count as int

3)赋值:set @mg='AA,BB,CCC'
4)条件下:while @i>=1
begin

i++

end

5)打印输出:print @str1 .这个显示在消息里面,如果select @str1显示在结果里面

6)截取字符串:set @mg=substring(@mg,@i+1,len(@mg)-@i)

7)以特定字符分割得到特定字符串的位置 set @i=charindex(',',@mg)

8)得到字符串长度:set @strLen=LEN(@str)
9)定义存储过程参数:

CREATE PROCEDURE sp_expExcle

@itemid int=0,
@path VARCHAR(512)='',
@msg VARCHAR(512)='' output

(两个为输入参数,一个为输出参数)

定义两个输入参数,没有输出参数则:

CREATE PROCEDURE sp_expExcle

@itemid int=0,
@path VARCHAR(512)=''

定义输出参数为

CREATE PROCEDURE sp_expExcle

@msg VARCHAR(512)='' output

10)调用存储过程

exec sp_expExcle 15,'C:\Users\Administrator\Desktop\dkj\导出数据\12.xls',''

exec sp_expExcle 15,'C:\Users\Administrator\Desktop\dkj\导出数据\12.xls'

declare @msg

exec sp_expExcle @msg output
select @msg

11)删除存储过程

drop PROCEDURE sp_expExcle
go
12)执行sql

declare @sql as varchar(100)

set @sql='select * from table'

Exec @sql

13)sql传参数
set @ncount=0
select @ncount=count(*) from Hospital.dbo.HOS_PICKUP where ITEM=@itemid



分享到:
评论

相关推荐

    SQLSERVER存储过程大总结.doc

    SQLSERVER存储过程使用说明书引言首先介绍一下什么是存储过程:存储...请大家先看一个小例子:createprocquery_bookasselect*frombookgo--调用存储过程execquery_book请大家来了解一下存储过程的语法。 Create PRO

    存储过程小例子,有明确注释说明

    个人总结的适合初学者,简单易懂,深入浅出,有明确注释说明,快速学会存储过程

    Oracle调用存储过程总结

    Oracle调用存储过程示例子。Oracle调用存储过程示例子。

    存储过程与触发器例子

    自己总结的一个关于存储过程与触发器的学习例子,希望对你有点用处。。。

    关于存储过程和游标的总结

    关于存储过程和游标的总结,比较全面的介绍了游标,包括动态游标,静态游标。有入门比较好的例子。

    sqlserver存储过程入门例子加讲解

    这是我在开发项目时应用过的,也是我一点点积累的,总结了一下,怕以后会忘记。

    游标参数的存储过程 存储过程高级教程

    1、辛苦积累的课件 2、自己调试总结的代码:包括存储过程基础,异常,自定义函数,存储过程,带游标参数的存储过程,java调用存储过程返回多行记录

    oracle存储过程

    这是自己总结的 ORACLE 调用分页存储过程的例子...

    groovy将JDBC中oracle存储过程游标转换为多层json

    本例是我工作中的一些实操例子,亦是我工作日志,记录在此,既可作为我自己的总结,也可以此分享给同行借鉴。 入参是字符串格式的xml,目的是解析xml节点值,作为数据库检索where条件,检索出数据库记录,利用四个...

    springtemplate总结

    springtemplate,简单操作,存储过程使用总结及例子

    oracle表操作

    oracle表操作的精粹总结,包括存储过程,触发器,视图等总结和例子分享

    oracle学习资料

    关于 oracle学习的基础知识的总结,其中包含了存储过程等例子

    Simio培训教程6.pdf

    过程在上级模型内"存 活" 6 Simio 过程总结 步骤 (被命令执行) 属性 元素 (被步骤所参考) 属性 状态 事件 命令 属性 状态 7 Simio 步骤 步骤执行一些行为,例如获取,延迟,判断,等待 等等. 步骤是没有状态的. 步骤...

    Activiti6.0教程例子下载

    其中大部分文字来自Copy网上的各种资料与文档,通过总结而来的。具体的更详细的内容需自己google,参考一些官方的文档与手册。 本文档之后内容如下: 1) 下载与使用 2) 核心组件与说明 3) 入门示例 4) Eclipse中的...

    s7-300工程实战总结.pdf

    51. 当一个DP从站出故障,如何在输入的过程映像被清成“0”以前保存它们? 13 52. 加密的300PLC MMC处理方法 13 53. 以314C为例计数时如何清计数器值? 14 54. CP342-5能否用于PROFIBUS FMS协议通讯? 14 55. 为什么...

    SOA实践指南-分布式系统设计的艺术.pdf

     13.2 从远程存储过程到服务  13.3 性能和可重用性  13.4 性能和向后兼容性  13.5 总结 第14章:soa和安全  14.1 安全需求  14.2 处理安全需求  14.3 实践中的soa安全.  14.4 xml和web services的...

    SOA实践指南 分布式系统设计的艺术

     13.2 从远程存储过程到服务  13.3 性能和可重用性  13.4 性能和向后兼容性  13.5 总结 第14章:soa和安全  14.1 安全需求  14.2 处理安全需求  14.3 实践中的soa安全.  14.4 xml和web services的...

    SOA实践指南 分布式系统设计的艺术.part3

     13.2 从远程存储过程到服务  13.3 性能和可重用性  13.4 性能和向后兼容性  13.5 总结 第14章:soa和安全  14.1 安全需求  14.2 处理安全需求  14.3 实践中的soa安全.  14.4 xml和web services的...

    SOA实践指南 分布式系统设计的艺术.part2

     13.2 从远程存储过程到服务  13.3 性能和可重用性  13.4 性能和向后兼容性  13.5 总结 第14章:soa和安全  14.1 安全需求  14.2 处理安全需求  14.3 实践中的soa安全.  14.4 xml和web services的...

Global site tag (gtag.js) - Google Analytics