(急)存储过程的问题.请高手们指教了

niwh 2004-12-16 03:50:32
我要编写一个存储过程,然后通过JSP来调用。
先写一个最简单存储过程
CREATE PROCEDURE G$DataProcess
@p_Year VARCHAR(6) AS
select * from alldata
GO
可以执行
但是如果再加个游标,调用就会出错。
如下:
CREATE PROCEDURE G$DataProcess
@p_Year VARCHAR(6) AS
DECLARE @v_Lxdm VARCHAR(10),
@v_Qdzh NUMERIC(8, 3),
@v_Zdzh NUMERIC(8, 3),
@v_Gldw VARCHAR(11)
DECLARE @c_TrueList CURSOR
Set @c_TrueList = CURSOR FOR
SELECT 路线代码, isnull(起点桩号, 0), isnull(止点桩号, 0), 管理单位
FROM G$公路路段单位管理
BEGIN
-- 绿化管理系统的数据处理
OPEN @c_TrueList
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM @c_TrueList INTO @v_Lxdm, @v_Qdzh, @v_Zdzh, @v_Gldw
END
CLOSE @c_TrueList
DEALLOCATE @c_TrueList
END

出错信息如下:
错误类别:
java.sql.SQLException
错误定位:
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
_data._dataprocess__jsp._jspService(_dataprocess__jsp.java:229)
com.caucho.jsp.JavaPage.service(JavaPage.java:75)
com.caucho.jsp.Page.subservice(Page.java:506)
com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
com.caucho.server.http.Invocation.service(Invocation.java:315)
com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
com.caucho.server.TcpConnection.run(TcpConnection.java:139)
java.lang.Thread.run(Thread.java:536)

第2个例子从语法角度应该没错。至少MSSQL语法校验通过了。我参照工具书里面的类似例子也没发现问题。
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lh1979 2004-12-17
  • 打赏
  • 举报
回复
你这个写法我看是套用游标作为参数的那个写法来得,你用正常的语法写看看还有问题
niwh 2004-12-16
  • 打赏
  • 举报
回复
请各位大大帮忙看看咯

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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