AIFA AKADEMI · Kurumsal Wiki
4.330 makale
Ana sayfa Kurumsal Wiki › Veritabanı › StoredProcedures › SP-DBO.SP_RENAMEDIAGRAM

dbo.sp_renamediagram

PROCEDUREMOD-DIGERERPGOLD_COREUNUSED_HIGH_CONFIDENCEVERY_HIGH[SOURCE_IMPLEMENTED]
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Tip: STORED PROCEDURE · Şema: dbo · Modül: MOD-DIGER · Temizlik sınıfı: UNUSED_HIGH_CONFIDENCE (kategori E, güven 85) · Kapsam: ERPGOLD_CORE / ALL

BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)

BASE DurumuBASE dışı — BASE Status: CANDIDATE_CANONICAL (Runtime Certification tamamlanmadı)
BASE SınıfıLEGACY (BASE MASTER) · Wiki önerisi: LEGACY (Kullanım Haritası: E, cleanup adayı) · Action: EXCLUDE_LEGACY · Güven: HIGH
Runtime CertificationN/A — BASE üyesi değil
Kodda Kullanılıyor mu?HAYIR — doğrudan/dolaylı kod referansı bulunamadı
Kod Referans SayısıBASE taraması: 0 (uygulama kodunda string literal referansı yok) · Kullanım Haritası kanıtı: 0 kayıt
Kullanan Ekranlar
Kullanan Class/Method
Incoming Dependency (bunu kullanan nesneler)dbo.fn_diagramobjects
Outgoing Dependency (bunun kullandığı nesneler)dbo.sysdiagrams
Trigger İlişkisiyok
Ticket Problem Aileleri
Bilinen Hatalar
Bilinen SQL Riskleri
Health Check Kuralı
Müşteri Özel mi?HAYIR
Opsiyonel Modül mü?HAYIR
Legacy mi?EVET
Son Doğrulama Tarihi13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING

Kullanım haritası

Kullanım Haritası kategorisiE — UNUSED CANDIDATE · E-SSMS_DIAGRAM_SUPPORT · güven 95
GerekçeSQL Server Management Studio veritabanı diyagramı destek nesnesi (SSMS gerekince yeniden oluşturur); ERPGOLD ile ilgisi yok
Referans veren (gerekli olmayan)dbo.fn_diagramobjects
Uzlaştırma09_Legacy — Uyumlu: Kullanım Haritası kullanılmayan aday, BASE legacy

Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Unused · Hata Bilgi Bankası. BASE Status: CANDIDATE_CANONICAL · Runtime Certification: PENDING · Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.

Temizlik kanıtı

Kontrol Sonuç
app NO
report NO
config NO
dynamic NO
db_in YES
db_out YES
trigger NO
fk NO
computed NO
crossdb NO
runtime UNKNOWN
external NO

Gerekçe: Pasif küme: yalnızca diğer güçlü adaylar referans ediyor → dbo.fn_diagramobjects | ikinci tur notu: SQL modül/rapor metinlerinde 1 şemasız ad geçişi (sütun/alias olabilir)

KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)

Tür: PROCEDURE (P) · Modül: MOD-DIGER · Uzunluk: 62 satır

Özet

[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.

Parametreler

# Parametre Tip Çıktı
1 @diagramname sysname
2 @owner_id int
3 @new_diagramname sysname

Bağımlılıklar (bu nesne → hedef)

İlişki Hedef Tip
WRITES dbo.sysdiagrams TABLE

Ürettiği hata mesajları

  • "Invalid value"
  • "Diagram does not exist or you do not have permission."
  • "The name is already used."

SQL tanımı (AS-IMPLEMENTED, örnek DB)

CREATE PROCEDURE dbo.sp_renamediagram
    (
        @diagramname        sysname,
        @owner_id       int = null,
        @new_diagramname    sysname

    )
    WITH EXECUTE AS 'dbo'
    AS
    BEGIN
        set nocount on
        declare @theId          int
        declare @IsDbo          int

        declare @UIDFound       int
        declare @DiagId         int
        declare @DiagIdTarg     int
        declare @u_name         sysname
        if((@diagramname is null) or (@new_diagramname is null))
        begin
            RAISERROR ('Invalid value', 16, 1);
            return -1
        end

        EXECUTE AS CALLER;
        select @theId = DATABASE_PRINCIPAL_ID();
        select @IsDbo = IS_MEMBER(N'db_owner'); 
        if(@owner_id is null)
            select @owner_id = @theId;
        REVERT;

        select @u_name = USER_NAME(@owner_id)

        select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname 
        if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId))
        begin
            RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1)
            return -3
        end

        -- if((@u_name is not null) and (@new_diagramname = @diagramname))  -- nothing will change
        --  return 0;

        if(@u_name is null)
            select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @new_diagramname
        else
            select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @owner_id and name = @new_diagramname

        if((@DiagIdTarg is not null) and  @DiagId <> @DiagIdTarg)
        begin
            RAISERROR ('The name is already used.', 16, 1);
            return -2
        end     

        if(@u_name is null)
            update dbo.sysdiagrams set [name] = @new_diagramname, principal_id = @theId where diagram_id = @DiagId
        else
            update dbo.sysdiagrams set [name] = @new_diagramname where diagram_id = @DiagId
        return 0
    END

Kaynaklar

  • SRC-DB-MODULES — sys.sql_modules tanımı (salt okunur); gizli sabitler [REDACTED_SECRET] ile değiştirildi.

Bilinmeyenler

  • Hangi sürümde eklendiği: created DB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).