问题标签 [sybase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sybase - PowerDesigner - 防止数据库名称在生成的 SQL 中为大写
我目前开始使用 Sybase PowerDesigner 及其物理数据模型 (PDM)。
我已经设法创建了一些实体/表、列等,并且生成的 SQL(从模型创建数据库)中的情况就像我想要的那样。
但是,关于数据库名称,PowerDesigner 坚持要求它始终为大写。实际上,我没有收到任何错误消息或类似的东西,实际上我被允许输入混合大小写的数据库名称,但只要我关闭“模型属性”窗口并返回它检查,数据库代号变回大写。
我显然取消了将逻辑名称连接到代码名称的“=”按钮,因此我可以输入不同的代码名称,但它仍然不起作用(虽然它适用于表格)。
有什么方法可以在生成的 SQL 脚本中使用与我在 PowerDesigner 中指定的案例相对应的数据库名称?DBMS 类型是 SQL Server 2008(试过以前的版本,问题还是一样的)。
提前非常感谢。
vba - 从 Excel 将日文字符插入 Sybase db
我可以在 excel 单元格中看到日语测试。我已经使用 ADO 构建了插入查询。它在数据库中插入,但日文字符简单地表示为“????” 任何帮助,将不胜感激。
c# - 在 C# 中使用计算子句调用 SQL
有人知道如何在 C# 中使用计算子句调用 SQL 命令吗?我收到内部错误 30016:
我的数据库是 Sybase 12.5.4。
sql - 检查约束以确保字符列中的值都是数字
这类似于CHECK CONSTRAINT 的字符串只包含数字。(Oracle SQL)但我想为 Sybase 做这个。
我有一个字符列“colExp”(8 个字符)。我想设置一个检查约束以确保该列的值都是数字。
我怎样才能做到这一点?这会起作用,但它并不优雅
paging - 如何在不制作临时表的情况下在 Sybase 中进行分页?(oracle rownum 问题)
在 Oracle 中,通常像这样查询分页。
但是,Sybase DBMS 中没有“rownum”函数。
如何在 Sybase 中进行完全相同的查询?
我找到了一些方法。
使用“行数”
设置行数 10
从 TABLEA 中选择 *
使用身份(制作临时表)
从 TABLEA 中选择 *, ROWNUM=IDENTITY(8) 到 #TEMP
SELECT * FROM #TEMP WHERE ROWNUM < #pageend# AND ROWNUM >= #pagestart#
删除表#TEMP
这些不是我想要的。
行数设置在会话级别,我不想制作临时表。
sybase - 如何强制表选择遍历块
如何使 Sybase 的数据库引擎以非数字顺序返回未排序的记录列表?
~~~
我有一个问题,我需要在应用程序中重现错误,在该应用程序中我从按顺序生成 ID 的表中进行选择,但 ID 不是选择中的最后一个。
让我解释。
上面是3个ID。我有代码,这些将是
但是,没有检查 status = 'O' (open) 的子句。记住 Sybase 将最后返回的记录保存到一个变量中。
~~~~~
我被要求给测试团队一些会使结果不起作用的东西。如果 Sybase 在无序列表中选择上述内容,它可能会以升序出现,或者,如果数据库引擎需要更改存储数据块或一些技术魔法的东西,则顺序可能会被打乱。最初的错误是当程序返回 1234 而不是 1236 时。
有没有一种方法可以100% 保证Sybase 将搜索一个数据块并且必须加倍返回,有效地“破坏”升序搜索,并且不返回最后一条记录,而是返回任何其他记录?(除了最大值之外的所有记录都会出错,因为它们都是“关闭的”)
我想要某种神奇的 SQL 代码,以确保事情不会以完全数字顺序搜索表。理想情况下,我希望不必更改程序,因为测试团队希望看到完全相同的程序被破坏(就像敲击 aorder by id desc
会捏造结果一样简单)。
sql - 在 Sql Server 2005 中为 Create Table 语句添加锁定选项
我正忙于从 Sybase 数据库在 Sql Server 中创建表。在 Sybase 数据库中创建表时使用了“锁定所有页面”选项,在 Sql Server 2005 中创建表时如何复制此选项。
sql - sybase - showplan 通过添加另一个表来查询大大降低了估计的 I/O
查询的应用已经改变,但原理是一样的。
4张桌子:
states - 状态列表(状态索引) stores - 商店,以及它们所处的状态(状态,商店的单独索引) store_orders - 将订单与商店联系起来(商店,订单的单独索引) order_statuses - 有订单和状态(订单、状态的单独索引)
我想计算特定状态的每个状态有多少订单。
一个查询:
select os.order_status, count(os.order_status) from stores sto, store_order so, order_statuses os where sto.state = 'PA' and sto.store = so.store and so.order = os.order group by os.order_status
在实际应用中,这里的展示计划估计 I/O 约为 500,000
但如果我这样做:
select os.order_status, count(os.order_status) from states sta, stores sto, store_order so, order_statuses os where sta.state = 'PA' where sto.state = sta.state and sto.store = so.store 等等。 order = os.order group by os.order_status
I/O 估计在 2,000 左右,我更改查询所做的只是将 states 表连接到 stores 表,并在 states 中而不是 store 中指定确切的值。
无论我指定一个显式值,还是用那个显式值加入另一个表,DBM 是否仍然需要对存储进行相同的搜索?
我试图弄清楚为什么估计的 I/O 如此之高。
我不是 DBA,但我会尽可能多地学习,因为我经常遇到这样的事情,而且我永远不知道为什么。
sql - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表“表”中插入标识列的显式值
执行以下脚本时出现以下错误。错误是什么,如何解决?
错误:
服务器:消息 544,级别 16,状态 1,行 1
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“表”中插入标识列的显式值。
sybase - KPID 在 Sybase 中是全局唯一的吗?
可以假定 KPID (as select kpid from master..sysprocesses
) 是全局的并且始终是唯一的吗?
(我发现对于我的小样本集KPID(n+1) ~= KPID(n) + 65536
(2^16),但我想知道我是否可以假设,以前的数据库连接 kpid 是唯一的,即使它以前的 loginame 和 spid 匹配一个新的loginame
和spid
)
干杯。
BLT。
(已经回答) *B)Loginame:如何从当前的 spid 中获取 loginame?loginame
不是 中的列,除了具有 列的sysprocesses
表之外,我找不到任何表,而且我无法以编程方式退出 sp_who。也许用于生成的sql会有所帮助..sysobjects
loginame
loginame
sp_who