关于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 阅读 9 次 更新于 2025-07-20 16:38:15 我来答关注问题0
  • 3.检查存储过程是否存在 在创建存储过程之前,请检查是否存在具有相同名称的存储过程。4.检查参数 检查提供给存储过程的参数是否正确。5.使用MySQL的错误日志文件 MySQL的错误日志文件记录了MySQL服务器的所有错误消息。如果存储过程无法运行,可以检查错误日志文件以查找有关错误的详细信息。在MySQL配置文件中指...

  •  翡希信息咨询 mysql存储过程为什么不推荐使用

    MySQL存储过程是特定于数据库的,如果项目需要迁移到另一个数据库系统,存储过程可能需要大量的重写工作。这对于保持代码的可移植性和灵活性是一个挑战,增加了迁移成本和风险。调试和维护困难:存储过程的调试相比其他编程环境来说较为困难,尤其是当涉及复杂的业务逻辑和大量数据时。存储过程的错误可能难以...

  • 在MySQL中,存储过程一般会比对应的SQL语句执行得慢。这是因为存储过程需要在执行前进行编译,而编译时间对于大型应用来说可能非常长。此外,存储过程还需要耗费额外的内存空间来存储过程体。如果过程体非常大,那么这个开销可能会变得非常显著。还有一个性能问题是存储过程的调用开销。每次调用存储过程时,MySQ...

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

  • 调用存储过程需要遵循特定步骤。首先,如果存储过程包含IN或INOUT参数,需要声明一个变量,并将PHP变量映射到MySQL变量。这一步骤可通过执行如下的语句实现:set @mysqlvar=$phpvar。然后,使用mysql_query()或mysql_db_query()函数执行这条语句,确保MySQL服务器能识别这个变量。接下来,根据存储过程的需要...

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

mySQL相关话题

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