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

SQL数据库中用image来存储文件

SQL数据库中用image来存储文件,但SQL没有提供直接的存取文件的命令.
/*--bcp 实现二进制文件的导入导出
 支持image,text,ntext字段的导入/导出
 image适合于二进制文件,包括:Word文档,Excel文档,图片,音乐等
 text,ntext适合于文本数据文件
 注意:导入时,将覆盖满足条件的所有行
  导出时,将把所有满足条件的行导出到指定文件中
 
 此存储过程仅用bcp实现
-----------------*/
/*--调用示例
--数据导出
 exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:\zj1.dat'
--数据导入
 exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:\zj1.dat','',0
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_binaryIO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_binaryIO]
GO
Create proc p_binaryIO
@servename varchar (30),--服务器名称
@username varchar (30), --用户名
@password varchar (30), --密码
@tbname varchar (500),  --数据库..表名
@fdname varchar (30),  --字段名
@fname varchar (1000), --目录+文件名,处理过程中要使用/覆盖:@filename+_temp
@tj varchar (1000)='',  --处理条件.对于数据导入,如果条件中包含@fdname,请指定表名前缀
@isout bit=1   --1导出((默认),0导入
AS
declare @fname_in varchar(1000) --bcp处理应答文件名
 ,@fsize varchar(20)   --要处理的文件的大小
 ,@m_tbname varchar(50)  --临时表名
 ,@sql varchar(8000)
--则取得导入文件的大小
if @isout=1
 set @fsize='0'
else
begin
 create table #tb(可选名 varchar(20),大小 int
  ,创建日期 varchar(10),创建时间 varchar(20)
  ,上次写操作日期 varchar(10),上次写操作时间 varchar(20)
  ,上次访问日期 varchar(10),上次访问时间 varchar(20),特性 int)
 insert into #tb
 exec master..xp_getfiledetails @fname
 select @fsize=大小 from #tb
 drop table #tb
 if @fsize is null
 begin
  print '文件未找到'
  return
 end
end
--生成数据处理应答文件
set @m_tbname='[##temp'+cast(newid() as varchar(40))+']'
set @sql='selec


相关文档:

MS SQL入门基础:索引视图

 MS SQL入门基础:索引视图
收藏



 
 在前面我们已经提到过有关视图的下述观点:由于视图返回的结果集与具有行列结构的表有着相同的表格形式,并且我们可以在SQL
语句中像引用表那样引用视图,所以我们常把视图称为虚表。标准视图的结果集并不以 ......

SQL server 2000 如何判断临时表是否存在


 
 
1.判断一个临时表是否存在
if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#tempcitys') and type='U')
   drop table #tempcitys
注意tempdb后面是两个. 不是一个的
---临时表
if exists(select * from tempdb..sysobjects where name like &lsqu ......

SQL调优(连接方式)

SQL调优 之 连接方式
Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联。在后面的叙述中,使用”row source”来代替”表”,因为使用row source更严谨一些,并且将参与连接的2个row source分别称为row source1和row source 2。Join过程的各个步骤经常是串行操作 ......

SQL中DATEADD和DATEDIFF的用法

SQL中DATEADD和DATEDIFF的用法
日期:2008-07-17 作者:喜騰小二 來源:PHPChina
通常,妳需要獲得當前日期和計算一些其他的日期,例如,妳的程序可能需要判斷一個月的第一天或者最後一天。妳們大部分人大概都知道怎樣把日期進行分割(年 ......

将表数据生成SQL脚本的存储过程

CREATE PROCEDURE dbo.UspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号