Ms-SQL中如何用代码导出表、存储过程、视图的结构
来源:互联网 发布:照片合成视频软件 编辑:程序博客网 时间:2024/05/17 20:34
if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
drop procedure File2Table
go
/*--实现数据导入/导出的存储过程
可以实现导入/导出 整个数据库/指定表 到文本文件
--邹建 2003.07(引用请保留此信息)--*/
/*--调用示例
--导出指定表
exec file2table @tbname=N'jobs,pub_info',@filename='c:/[@tbname].txt'
--导出所有表
exec file2table @filename='c:/[@dbname]_[@tbname].txt'
--导入所有表
exec file2table @filename='c:/[@dbname]_[@tbname].txt',@isout=0
--*/
create procedure File2Table
@tbname nvarchar(4000)='', --表名列表,如果不指定,则表示所有用户表
@filename nvarchar(1000)='', --导出的文件名,如果不指定,导出到SQL Server的默认备份目录/[@dbname]_[@tbname].txt,其中[@dbname]在处理中会替换为数据库名,[@dbname]会用表名代替
@isout bit=1, --1为导出(默认),0为导入
@username sysname='', --用户名,如果sql不允许使用NT验证方式登录,则必须指定
@password sysname='', --密码
@code char(1)=N'N' --文件编码,可以是n,c,N,W,作用参考bcp语法(如果是数据传输需要,建议用N)
as
declare @s nvarchar(4000)
if isnull(@code,N'') not in(N'n',N'c',N'N',N'W')
set @code='N'
--备份文件名
if isnull(@filename,N'')=N''
begin
select top 1 @filename=rtrim(reverse(filename))
from master.dbo.sysfiles
where name=N'master'
select @filename=stuff(@filename,1,charindex('/',@filename),N'')
,@filename=reverse(stuff(@filename,1,charindex('/',@filename),N''))
+N'/BACKUP/'+db_name()+N'_[@tbname].txt'
end
else
set @filename=replace(@filename,N'[@dbname]',db_name())
declare tb cursor local
for
select N'bcp "'+db_name()
+N'.'+quotename(user_name(uid))
+N'.'+quotename(name)
+N'"'
+case when @isout=1 then N' out' else N' in' end
+N' "'
+replace(@filename,N'[@tbname]',name)
+N'" /'+@code
+case when isnull(@username,N'')=N'' then N' /T'
else N' /U"'+@username
+N'" /P"'+isnull(@password,N'')+N'"'
end
from sysobjects
where xtype=N'U' and status>=0
and(isnull(@tbname,N'')=''
or charindex(','+name+',',','+@tbname+',')>0)
open tb
fetch tb into @s
while @@fetch_status=0
begin
exec master..xp_cmdshell @s,no_output
fetch tb into @s
end
close tb
deallocate tb
go
- Ms-SQL中如何用代码导出表、存储过程、视图的结构
- MS sql server 判断表/视图/存储过程是否存在
- MS sql server 判断表/视图/存储过程是否存在
- MSSQL如何用脚本导出创建表结构的脚本?
- 如何用存储过程及SQL代码创建登录、用户和角色
- MS Sql 存储过程 事务 常用代码
- 可以自定义导出数据库的表结构(视图)的一个存储过程
- MS Sql Server中存储过程与触发器的安全隐患
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
- 如何只导出 ms sql server 2005 的表结构
- 在sql的存储过程里,如何用一个Delete语句同时删除两个表中的数据
- 如何用JDBC连接Ms Sql Server2005
- sql server中取得表结构的存储过程
- 如何在sql的存储过程中用代码将所查询到表的数据导出到execl表中
- sql省市表 如何用代码生成
- SQL Server修改表结构后批量更新所有视图的存储过程
- MS Sql的一个分页存储过程
- 一个MD5的存储过程(MS SQL)
- 微软面试IQ题~~(转载)
- dom4j(Version 1.6.1)快速入门
- 用dom4j建立,修改XML文档,并解决格式化输出和中文问题
- javascript小技巧
- DOM4J 使用简介
- Ms-SQL中如何用代码导出表、存储过程、视图的结构
- Pragma是什么?
- 常用函数集
- VC Studio 使用技巧大全
- 随心(20051024)
- 管理50项原则(转)
- 成为百万富翁的25种方法(转)
- RequisitePro中需求管理的12个步骤(转)
- JavaScript和ASP.NET的传值