关于mysql存储过程

来源:百度知道 编辑:UC知道 时间:2024/04/28 11:19:24
对于mysql只是会简单的日常的T-SQL句子,

对于像函数,存储过程

还是不行,现在有一问题在此请教高手

我有一表结构如下

tid subject content
int vchar vchar

现在就是想实现用一个存储过程导出表的内容为一个文本

但要求是根据tid值不同导成多个文本,文件名是对应subject的值

文件内容是对应content的值,最后执行存储过程时只用tid作参数

tid最好是一个取值范围,如从20-100

如果代码通过,定追加分!
忘记生成文件路径的事了,
就假设在e:\11下吧

一楼的纯是乱发

二楼的可以是可以,但是针对MSSQL的,

总的来说还是谢谢你的热心,分就归你啦!
mysql里是没有bcp的

create table mytb
(tid int,
subject varchar(100),
content varchar(100))

eg:测试数据:
20 计算机应用 应用软件开发
21 计算机操作系统 操作系统详解
22 c# c#开发实战
=======================================
说明一点:tid编号是连续的,如(1,2,3,4···)

存储过程如下,测试通过:

create proc my_search
@beg_id int ,
@end_id int
as

declare @names varchar(200),
@bcp varchar(8000)
if(@beg_id<@end_id)
begin

while @beg_id<=@end_id
begin
select @names=subject from mytb where tid=@beg_id
set @bcp = 'bcp "SELECT content FROM 数据库名.dbo.mytb where tid = ' + rtrim(@beg_id) + '" queryout "E:\11\' + rtrim(@names) + '.txt" -c -U"sa" -P"sa"'

EXEC master..xp_cmdshell @bcp
set @beg_id=@beg_id+1
end
end

==================加路径后过程==============

--exec my_search 20,21,'E:\11'

ALT