Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

SAP ASE (Sybase) - Foreign key list in the database

USE [DATABASENAME]
GO

-- Quick script
select * from sysobjects where type = 'RI'


-- Detailed script
select 
  tab.name    "table name",
  fko.name    "Foreign key name",
  par.name    "Referenced table name",
--  fk1.name  "FK column name",
--  pk1.name  "Ref column name",
  *
from  sysobjects      tab
JOIN  sysconstraints  con on tab.id        = con.tableid
JOIN  sysobjects      fko on con.constrid  = fko.id
JOIN  sysreferences   ref on con.constrid  = ref.constrid
JOIN  sysobjects      par on par.id        = ref.reftabid
--  ---- 1. Column
--  left join syscolumns  fk1 on ref.fokey1 = fk1.colid and ref.tableid = fk1.id
--  left joinsyscolumns   pk1 on ref.refkey1 = pk1.colid and ref.reftabid = pk1.id
-- etc. to more columns
where tab.type = 'U'
and   fko.type = 'RI'
--and   tab.name = 'TABLENAME'

No comments:

Post a Comment