关于mysql存储过程

存储过程如下,测试通过:create proc my_search beg_id int ,end_id int as declare @names varchar(200),bcp varchar(8000)if(@beg_id
关于mysql存储过程
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'

ALTER proc my_search
@beg_id int ,
@end_id int ,
@path varchar(200)
as

if(right(@path,1)='\')
begin
set @path=left(@path,len(@path)-1)
end

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 cdma.dbo.mytb where tid = ' + rtrim(@beg_id) + '" queryout "'+@path+'\' + rtrim(@names) + '.txt" -c -U"sa" -P"sa"'

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

=======
呵呵,很抱歉啊 楼主,没能实现你的要求,
MSSQL我不熟,我想语法大概也是差不多吧,2007-12-10
mengvlog 阅读 95 次 更新于 2025-09-09 05:13:57 我来答关注问题0
  • 3.检查存储过程是否存在 在创建存储过程之前,请检查是否存在具有相同名称的存储过程。4.检查参数 检查提供给存储过程的参数是否正确。5.使用MySQL的错误日志文件 MySQL的错误日志文件记录了MySQL服务器的所有错误消息。如果存储过程无法运行,可以检查错误日志文件以查找有关错误的详细信息。在MySQL配置文件中指...

  • 存储过程需要在数据库中编写和存储,相比于应用程序的代码,存储过程的执行效率相对较低。这是因为存储过程的执行需要经过多次判断和查询,而且每次执行都需要从数据库中读取存储过程的定义。因此,如果存储过程的执行非常频繁,会给数据库带来较大的负担和性能瓶颈。另外,存储过程的执行计划也可能得不到优化。

  •  翡希信息咨询 如何查看mysql内的存储过程总数

    答案:使用 INFORMATION_SCHEMA.ROUTINES 表:MySQL 的 INFORMATION_SCHEMA 数据库包含了关于所有其他数据库的信息。ROUTINES 表存储了关于存储过程和函数的信息。查询存储过程总数:要获取存储过程的总数,可以执行以下 SQL 语句:sqlSELECT COUNT FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDU...

  •  深空见闻 mysql有没有存储过程

    存储过程是一组为了完成特定功能的SQL语句集,它存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程可以看作是对数据库中一系列SQL操作进行的封装,类似于编程语言中的函数或方法。以下是关于MySQL存储过程的一些关键点:封装性:存储过程将一系列SQL操作封...

  • MySQL存储过程是数据库管理系统(DBMS)中一种特殊用途的内部存储子程序。它们由用户定义,并且是外加程序设计语言(PL / SQL)的一部分,可用于管理数据库。由于数据库管理系统(DBMS)中的所有事务都是处理完成时才会提交,因此在终止MySQL存储过程时,退出策略也非常重要。一般来说,在MySQL存储过程中,...

其他mySQL类似问题

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部