问个Sybase中动态执行SQL的难题!

tobato 2002-07-03 10:16:41
在Oracle 中可以执行动态的SQL语句,甚至是动态的游标!

请问Sybase中是否可以执行动态的游标?? 就是说游标的内容是

动态的!Where 后的条件是变量
...全文
76 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
老吴子 2002-07-04
  • 打赏
  • 举报
回复
to tobato(tobato):
Sybase和ORACLE只是使用习惯的问题,在使用T-SQL时更加趋向于使用集合运算,会大量使用临时表,而ORACLE PL/SQL更加过程化,如果原先使用ORACLE,转到Sybase会感到不适应,但如果从Sybase转到Oracle,则会感觉好一些。
tobato 2002-07-04
  • 打赏
  • 举报
回复
目前我需要的是Where 后的条件是变量,前面的都定了,
有没有办法?
kaikaihe 2002-07-04
  • 打赏
  • 举报
回复
Sybase不支持动态语句,主要是数据库对象不能用变量代替
developer2002 2002-07-04
  • 打赏
  • 举报
回复
你是这样带参数哦,这样的话的确cursor不支持。
tobato 2002-07-04
  • 打赏
  • 举报
回复
Where 后面确实不能带 @vc_SqlCode ="coll1=@value and coll2=value"
这个已经确定了!
execute 确实不支持declare cursor !
中间表在小于2K 的时候不写I/O ,那么说Sybase的游标还是不能单独动态生成! 同意 tiger7403(好兵帅克) 的方法,我这边已经有解决方法了。确实
可以利用中间表来搞定.
Sybase 用了没几天,但是和Oracle一比较,感觉很失望。


developer2002 2002-07-04
  • 打赏
  • 举报
回复
谁说定义cursor时,where子句不能带变量的呢。
试试
declare cursorname cursor for select * from temp where col1=@value
tiger7403 2002-07-04
  • 打赏
  • 举报
回复
sybase的12版以后支持动态sql,用:
execute("string" | char_variable [ + "string" | char_variable])
例:
declare @sql varchar(200)
declare @table_name varchar(200)

select @table_name = "sysobjects"

select @sql = "select * from " + @table_name + " where id = 3"
execute(@sql)

注:不过execute好像不支持declare cursor,你可以试一试。如果不支持,我想你可以利用中间表生成cursor的方法试一试。
developer2002 2002-07-03
  • 打赏
  • 举报
回复
sybase游标中where子句可带变量,但表名不可以为变量。
类似oracle的open cursor_name for 'select * from '||table_name
的语句是不能实现的
developer2002 2002-07-03
  • 打赏
  • 举报
回复
sybase的cursor支持where条件语句中可带变量,但不支持cursor中的表名为变量
SQLserver数据库管理系统需求分析 ——成绩管理分析 1. 概述 2. SQLserver简介及知识介绍 三、数据库管理系统知识 四、需求分析—成绩管理 一、概述 成绩管理系统可以实现对成绩的管理,在此系统里可以查询、添加、删除学生的成绩, 方便用户的管理。学生成绩管理系统是应对学生人数增多、信息量增大的问题,实现管 理的现代化、网络化,逐步摆脱当前学生成绩管理系统的人工管理方式,提高成绩管理 效率而开发的。希望该程序能够解决学生信息存储、学生成绩查询、录入还有课程查询 等一系列功能,并提供了对各功能模块的查询和更新功能,且这两种功能基本上是通过 存储过程来实现的,其学生成绩查询和学生信息查询是成绩管理系统的重点。 二、SQLserver简介及知识介绍 1、简介 美国Microsoft公司推出的一种系统。SQLServer是一个可扩展的、高性能的、为分布 式客户机/服务器计算所设计的,实现了与WindowsNT的有机结合,提供了基于的企业级 信息管理系统方案。 其主要特点如下: (1)高性能设计,可充分利用WindowsNT的优势。 (2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配 置。 (3)强壮的事务处理功能,采用各种方法保证数据的完整性。 (4)支持对称多处理器结构、、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的 系统结构为广大的用户、开发人员和提供了一个出众的数据库平台。 2、SQLserver的发展 SQL语句可以用来执行各种各样的操作,例如更新数据库的数据,从数据库提取 数据等。目前,绝大多数流行的关系型,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩 展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍 然可以被用来完成几乎所有的数据库操作。 SQL Server 是一个。它最初是由Microsoft Sybase 和Ashton- Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与SybaseSQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX上的应用。 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软 件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 3、SQL Server 2008的新功能及知识介绍 (一)、可信任的 保护你的信息 在过去的SQL Server 2005的基础之上,SQL Server 2008做了以下方面的增强来扩展它的安全性: * 简单的 SQL Server 2008可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序。进行 加密使公司可以满足遵守规范和及其关注数据隐私的要求。简单的数据加密的好处包括 使用任何范围或模糊查询搜索加密的数据、加强数据安全性以防止未授权的用户访问、 还有数据加密。这些可以在不改变已有的应用程序的情况下进行。 * 管理 SQL Server 2008为加密和管理提供了一个全面的解决方案。为了满足不断发展的对的信息的更强安 全性的需求,公司投资给供应商来管理公司内的。SQL Server 2008通过支持第三方和安全模块(HSM)产品为这个需求提供了很好的支持。 * 增强了审查 SQL Server 2008使你可以审查你的数据的操作,从而提高了遵从性和安全性。审查不只包括对的所 有信息,还包括关于什么时候对数据进行读取的信息。SQL Server 2008具有像服务器加强的审查的配置和管理这样的功能,这使得公司可以满足各种规 范需求。SQL Server 2008还可以定义每一个数据库的审查规范,所以审查配置可以为每一个数据库作单独的 制定。为指定对象作审查配置使审查的执行性能更好,配置的灵活性也更高。 (二)确保业务可持续性 * 改进了数据库 SQL Server 2008基于SQL Ser

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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