在oracle中如何使用sql语句块?

超级小猪拱白菜 2011-03-08 03:39:45
如题。。求大侠们帮帮我。谢谢。

我用了begin end 但是还是报错。真纠结。
...全文
118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kid_wang 的回复:]
你怎么删我的帖子啊,不是告诉你了吗用;分吗,只不过字数太少不能回复,我才回复了两个;号。唉~~~~
[/Quote]

我没删你的回复信息。是版主删的。不好意思啊。谢谢你的帮忙。
qldsrx 2011-03-08
  • 打赏
  • 举报
回复
Oracle中使用begin end 这样的语句块是不能得到结果集的,这是强制规定。
如果需要用到临时表,你可以使用存储过程来获取结果集,存储过程带输出游标,通过游标得到结果集,虽然麻烦了些,但是只有这种方法才行。
shangwei97 2011-03-08
  • 打赏
  • 举报
回复
 public bool ExecuteDataSet(string strCmd,ref DataSet ds)
{
strConnection = string.Format(strConn, strUserID, strDataSource, strPwd);
ds.Clear();

try
{
if (mOrclCnn.State == ConnectionState.Open) { this.mOrclCnn.Close(); }
mOrclCnn.ConnectionString = strConnection;
this.mOrclCnn.Open();

OracleDataAdapter Adapter = new OracleDataAdapter(strCmd, this.mOrclCnn);
Adapter.Fill(ds);
return true;
}
catch (Exception ex)
{
MessageBox.Show("执行操作信息时 -" + ex.Message.ToString(), "系统提示");
return false;
}
}

应该不会出问题吧。不行就写个存储过程吧,在程序里执行存储过程
kid_wang 2011-03-08
  • 打赏
  • 举报
回复
你怎么删我的帖子啊,不是告诉你了吗用;分吗,只不过字数太少不能回复,我才回复了两个;号。唉~~~~
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lovesongforever 的回复:]
想要什么结果????
[/Quote]

首先创建一个临时表。将数据插入到临时表。更新下临时表里某列的数据。然后和另一张表联合查询。得到结果集。
garfieldzf 2011-03-08
  • 打赏
  • 举报
回复
想要什么结果????

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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