存储过程的错误

dajiadebeibei9 2010-01-03 03:23:49
DELIMITER $$

CREATE
PROCEDURE `njue`.`pr_getAllProvider`()
BEGIN
select * from tb_provider where available!=0;
END$$

DELIMITER ;


数据库名是njue 这是里面的一段脚本 本人不知道如何在SQL2005中正确使用 因为直接运行会报错
哪位帮忙改正一下 谢谢了
...全文
116 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly0012008 2010-01-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dajiadebeibei9 的回复:]
引用 2 楼 vivian_lanlan 的回复:
SQL codecreateproc dbo.pr_getAllProviderasselect*from tb_providerwhere available!=0;go--调用exec dbo.pr_getAllProvider


CREATE

    PROCEDURE `pr_searchGoods`(a varchar(50),b varchar(50))
 
    BEGIN
    DECLARE v_sql varchar(200);
    set v_sql=concat('select * from tb_goods where ',a,'=\'',b,'\' and available=1');
    SET @sql = v_sql;
    PREPARE sl FROM @sql;
    EXECUTE sl;
    DEALLOCATE PREPARE sl;
    END
这个是SQL的么!这段有问题么
[/Quote]

不是MS-SQL
ACMAIN_CHM 2010-01-03
  • 打赏
  • 举报
回复
楼主问的是MYSQL吧。
dajiadebeibei9 2010-01-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vivian_lanlan 的回复:]
SQL codecreateproc dbo.pr_getAllProviderasselect*from tb_providerwhere available!=0;go--调用exec dbo.pr_getAllProvider
[/Quote]

CREATE

PROCEDURE `pr_searchGoods`(a varchar(50),b varchar(50))

BEGIN
DECLARE v_sql varchar(200);
set v_sql=concat('select * from tb_goods where ',a,'=\'',b,'\' and available=1');
SET @sql = v_sql;
PREPARE sl FROM @sql;
EXECUTE sl;
DEALLOCATE PREPARE sl;
END
这个是SQL的么!这段有问题么
hchjjun 2010-01-03
  • 打赏
  • 举报
回复
数据库名后需要加一个DBO
-狙击手- 2010-01-03
  • 打赏
  • 举报
回复
CREATE PROCEDURE pr_name
AS
BEGIN
....

END
GO
abeniaj0427 2010-01-03
  • 打赏
  • 举报
回复
执行存储过程:


DECLARE @return_value int --返回值

EXEC @return_value = [dbo].[MyProcedure] --执行存储过程

SELECT 'Return Value' = @return_value --输出返回结果
abeniaj0427 2010-01-03
  • 打赏
  • 举报
回复
报的什么错误?正确的写法如下:

CREATE PROCEDURE proc_name
AS
BEGIN
SET NOCOUNT ON;
select * from tb_provider where available!=0;

END
GO
dajiadebeibei9 2010-01-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vivian_lanlan 的回复:]
这不是sql server的语法
[/Quote]

请问怎么改!
  • 打赏
  • 举报
回复
CREATE  PROCEDURE pr_getAllProvider    
BEGIN
select * from tb_provider where available!=0
END
vivian_lanlan 2010-01-03
  • 打赏
  • 举报
回复
create proc dbo.pr_getAllProvider
as
select * from tb_provider where available!=0;
go

--调用
exec dbo.pr_getAllProvider
vivian_lanlan 2010-01-03
  • 打赏
  • 举报
回复
这不是sql server的语法
【复现】基于非奇异终端滑模和扩张状态观测器的导弹制导跟踪设计,机动目标制导律设计研究(Matlab代码实现)内容概要:本文介绍了基于非奇异终端滑模控制和扩张状态观测器的导弹制导律设计方法,旨在实现对机动目标的高精度跟踪。通过结合非奇异终端滑模控制的快速收敛性和强鲁棒性,以及扩张状态观测器对系统内外扰动的实时估计与补偿能力,有效提升了导弹制导系统的动态响应性能和抗干扰能力。文中提供了完整的Matlab代码实现,包含仿真模型与结果分析,复现了相关控制策略在导弹拦截场景中的应用效果,适用于高机动目标的精确打击任务。; 适合人群:具备自动控制、飞行器设计或导航制导基础知识的研究生、科研人员及从事航空航天工程的技术人员。; 使用场景及目标:①研究先进滑模控制在导弹制导中的应用;②掌握扩张状态观测器的设计与扰动补偿机制;③通过Matlab仿真复现论文成果,深入理解非奇异终端滑模与观测器融合的制导系统设计流程; 阅读建议:建议读者结合控制理论基础,仔细分析代码结构与算法实现步骤,重点关注滑模面设计、收敛性保障及观测器参数整定部分,并通过调整仿真参数验证系统鲁棒性与适应性。

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧