我需要在Sybase中列出特定数据库中所有表的名称,然后根据名称中的一些字符串过滤这些表名。这给出了当前数据库,但我不能指定特定的数据库:
select name from sysobjects where type = 'U'
这不仅提供了表,还包括触发器和存储过程:
Select name from sysobjects WHERE db_name()='pad_orr_db'
是否有人知道如何做到这一点,并通过名称中的一些字符串过滤表的名称,例如,只显示名称中带有SASSA的表?
zkure5ic1#
使用sp_tables。
sp_tables [table_name] [, table_owner] [, table_qualifier][, table_type]
其中 * table_qualifier * 是数据库的名称。Tables and Views要获取所有表、视图和系统表,可以执行以下Sybase系统存储过程。执行sp表" %"要按数据库仅筛选表(例如master):执行sp表" %"、" %"、"主表"、"表"要仅按数据库和所有者/方案筛选表(例如master和dbo):执行sp_tables " %"、"dbo"、"master"、"TABLE""若要仅返回视图,请将"'TABLE '"替换为"'VIEW'"。若要仅返回系统表,请将"'TABLE '"替换为"'SYSTEM TABLE'"。
zzlelutf2#
Select name from db_name..sysobjects where type ="U"
替换db_name中的实际数据库名称。类型'U'用于用户定义的表。
4xy9mtcn3#
use <database_name> go select * from sysobjects where type='U' go
这应该列出用户表、存储过程和代理表。
3条答案
按热度按时间zkure5ic1#
使用sp_tables。
其中 * table_qualifier * 是数据库的名称。
Tables and Views
要获取所有表、视图和系统表,可以执行以下Sybase系统存储过程。
执行sp表" %"
要按数据库仅筛选表(例如master):
执行sp表" %"、" %"、"主表"、"表"
要仅按数据库和所有者/方案筛选表(例如master和dbo):
执行sp_tables " %"、"dbo"、"master"、"TABLE""
若要仅返回视图,请将"'TABLE '"替换为"'VIEW'"。若要仅返回系统表,请将"'TABLE '"替换为"'SYSTEM TABLE'"。
zzlelutf2#
替换db_name中的实际数据库名称。
类型'U'用于用户定义的表。
4xy9mtcn3#
这应该列出用户表、存储过程和代理表。