标签: sybase-ase

"查询连接时"的SQL查询

我正在使用Sybase ASE数据库.
我有两个表看起来像:

Shops:

---------------------
| ShopName | ShopID |
---------------------
| Sweetie  | 1      |
| Candie   | 2      |
| Sugarie  | 3      |
---------------------
Run Code Online (Sandbox Code Playgroud)

Sweets:

----------------------
| SweetName | ShopID |
----------------------
| lolly     | 1      |
| redlolly  | 1      |
| greenloly | 1      |
| taffy     | 2      |
| redtaffy  | 2      |
| bluetaffy | 2      |
| choco     | 3      |
| mintchoco | 3 …
Run Code Online (Sandbox Code Playgroud)

sql join concatenation sybase-ase

6
推荐指数
1
解决办法
1万
查看次数

SQL找到相同的组

给出如下表:

id    key   val
----  ----  -----
bob   hair  red
bob   eyes  green
Run Code Online (Sandbox Code Playgroud)

还有另一张表:

id    key   val
----  ----  -----
fred  hair  red
fred  eyes  green
fred  shoe  42
joe   hair  red 
joe   eyes  green
greg  eyes  blue
greg  hair  brown
Run Code Online (Sandbox Code Playgroud)

我想在表b中找到与表中的人完全匹配的人,在这种情况下Bob和Joe.弗雷德不算数,因为他也有鞋码.这是在Sybase中,因此没有完全外连接.我想出了一个带有联盟的选择,这个联盟可以归还那些肯定不一样的人,但我不确定如何有效地选择那些人.

或者,如果它更简单,我如何检查b中的哪些组不止一次?

sql t-sql database sybase-ase

5
推荐指数
1
解决办法
388
查看次数

查询阻止时如何捕获此警告消息?

当我使用isql进行查询时,我得到以下消息和查询块.

数据库foo中的事务日志几乎已满.您的事务将暂停,直到日志中的空间可用.

当我从Python做同样的事情时:

cursor.execute(sql)
Run Code Online (Sandbox Code Playgroud)

查询阻止,但我想看到此消息.

我试过了:

Sybase.set_debug(sys.stderr)
connection.debug = 1
Run Code Online (Sandbox Code Playgroud)

我正在使用:

  • 蟒蛇,SYBASE,0.40pre1
  • Adaptive Server Enterprise/15.5/EBF 18164

编辑:问题是,"如何在python程序中捕获此警告消息?"

python sybase-ase

5
推荐指数
1
解决办法
676
查看次数

如何在Sybase ASE中使用Dapper的强类型查询参数?

Dapper可以将查询参数作为匿名对象传递,并支持任何ADO.NET数据提供程序.但是,对Sybase 15 ADO.NET驱动程序运行以下查询时:

using (var connection = new AseConnection("..."))
{
    connection.Open();

    var results = connection.Query<Foo>(
        "dbo.sp_columns", new { table_name = "dbo.sysusers"}, 
        commandType: CommandType.StoredProcedure);
}
Run Code Online (Sandbox Code Playgroud)

...抛出以下错误:

Sybase.Data.AseClient.AseException: Procedure sp_columns expects parameter @table_name, which was not supplied.

at Sybase.Data.AseClient.AseCommand.?(Int32 A_0)
at Sybase.Data.AseClient.AseCommand.?()
at Sybase.Data.AseClient.AseCommand.?(CommandBehavior A_0)
at Sybase.Data.AseClient.AseCommand.System.Data.IDbCommand.ExecuteReader()
at Dapper.SqlMapper.<QueryInternal>d__13`1.MoveNext() in SqlMapper.cs: line 579
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList(IEnumerable`1 source)
at Dapper.SqlMapper.Query(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in SqlMapper.cs: line 536
Run Code Online (Sandbox Code Playgroud)

将其更改为DynamicParameters使用"@table_name"设置的Dapper …

.net ado.net sybase-ase dapper

5
推荐指数
1
解决办法
3886
查看次数

我为什么要在sybase中使用GO命令?

GO为sybase编写sql时我为什么要使用?在我的项目的大多数现有sql中,没有GO,但是当为表创建生成DDL时,作为示例,应用程序插入许多GO语句.

感谢答案,我理解这GO;其他数据库类似,因为人们已经有人指出它是一个分隔符.

另外一个问题是GO,sybase是否完全等同于;在Oracle中输入?

sql t-sql sybase-ase

5
推荐指数
2
解决办法
1万
查看次数

如何使用数据创建Sybase表的副本?

我知道oracle中复制结构和数据的语句.

create table mytable1 as select * from mytable;
Run Code Online (Sandbox Code Playgroud)

但是如何在Sybase ASE中实现相同的功能呢?

sybase-ase

5
推荐指数
2
解决办法
3万
查看次数

node.js sybase驱动程序

我正在使用node.js express框架开发应用程序,并且需要连接到sybase ASE数据库.我做了足够的搜索,找不到node.js的sybase驱动程序.node.js不支持sybase,还是应该使用通用驱动程序?

sybase-ase node.js

5
推荐指数
1
解决办法
5694
查看次数

SSMS与Sybase ASE的连接

有没有办法使用Sql Server Management Studio 2008连接到Sybase(ASE)数据库实例?我尝试使用其他工具进行连接但是它们非常有限并且想要使用SSMS.

ssms sybase-ase

5
推荐指数
1
解决办法
8622
查看次数

可以在Sybase ASE中使用具有"TOP 1列"的相关子查询吗?

我试图在Sybase ASE 12上使用建议的查询,它抱怨语法错误.

SELECT 
    item, 
    ( SELECT TOP 1 tags.tag
      FROM #tags tags
        LEFT JOIN t o
          ON  tags.tag = o.tag
          AND o.item_id = n.item_id 
      WHERE o.tag IS NULL
      ORDER BY tags.tag
    ) 'tag',
    value  
FROM
    t_new n
Run Code Online (Sandbox Code Playgroud)

错误: Incorrect syntax near the keyword 'top'.

但是,当我用MAX()替换(TOP 1 tag... ORDER BY tag)时,同样的查询有效:

SELECT 
    item, 
    ( SELECT max(tags.tag)
      FROM #tags tags
        LEFT JOIN t o
          ON  tags.tag = o.tag
          AND o.item_id = n.item_id 
      WHERE o.tag IS NULL …
Run Code Online (Sandbox Code Playgroud)

sql subquery sybase-ase correlated-subquery

5
推荐指数
1
解决办法
5011
查看次数

Sybase:无法创建数据库:为什么不呢?

这应该很简单.

的Sybase文档("例1"),说你没有指定size参数,但即使我做的:

create database pubs5 on default = '10M'
Run Code Online (Sandbox Code Playgroud)

我仍然收到一个错误:

Could not execute statement.
CREATE DATABASE failed because of incorrectly specified or unavailable
space. Total number of megabytes specified and available must be at
least 6 megabytes so Model Database can be copied to the new database.
SQLCODE=1810
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的大小(超过6MB),删除大小并尝试双引号,单引号,没有引号.

为什么这么难?

谢谢.

sybase sybase-ase

5
推荐指数
1
解决办法
1311
查看次数