Share via


Kullanarak ve kullanıcı tanımlı türler örneklerini değiştirme

Kullanıcı tanımlı türler ile aşağıdaki şekillerde çalışabilirsiniz:

  • kullanıcı tanımlı tür sütunlarla tablolar oluşturma

  • Ekleme ve kullanıcı tanımlı tür sütun değerlerini değiştirme

  • Kullanıcı tanımlı tür değişken veya parametre kullanarak

Sahip kullanıcı tanımlı türü sütunlarındaki tablolar oluşturma

kullanıcı tanımlı tür sütun türü adı başvuran ve bir sütun adı sağlayarak sahip bir tablo oluşturabilirsiniz.Bu sistem tabanlı veri türleri veya diğer ad türü parçalarından oluşan sütunlar oluşturma biçimini benzer.Bir ortak dil çalışma zamanı (clr) kullanıcı tanımlı tür üzerinde bir sütun oluşturmak için türüne başvurular izninizin olması gerekir.

kullanıcı tanımlı tür sütun bir tablo oluşturmak için

Ekleme ve kullanıcı tanımlı türü sütun değerlerini değiştirme

Ekle ve sütun değerleri değiştirin ve kullanıcı tanımlı tür değişkenleri ve parametre değerlerini değiştirin.

Not

Tablolar veya dizinlerin veri değişiklikleri geçersiz kılmak çünkü kullanıcı tanımlı türler oluşturulduktan sonra değiştirilemez.Bir türünü değiştirmek için yazının aşağı ve sonra yeniden veya alter assembly deyim ile DENETLENMEYEN veri yan tümce tümce tümce kullanarak vermek.Daha fazla bilgi için bkz: alter assembly (Transact-sql).

Ekle veya aşağıdakileri yaparak kullanıcı tanımlı tür sütunlar için değerleri değiştirin:

  • Bir değer sağlayan bir SQL Server Sistem veri türü olarak kullanıcı tanımlı tür destekler, örtülü veya açık dönüştürme işlemi bu tür.Aşağıdaki örnek, kullanıcı tanımlı tür sütunundaki bir değeri güncelleştirmek nasıl gösterir Point dönüştürerek açıkça karşı bir dize:

    UPDATE Cities
    SET Location = CONVERT(Point, '12.3:46.2')
    WHERE Name = 'Anchorage'
    
  • Bir yöntem olarak işaretlenmiş bir mutator, güncelleştirme gerçekleştirmek için kullanıcı tanımlı tür.Aşağıdaki örnek türü mutator yöntem çağıran işaret adı verilen SetXY , türün örneği durumunu güncelleştirir:

    UPDATE Cities
    SET Location.SetXY(23.5, 23.5)
    WHERE Name = 'Anchorage'
    

    Not

    SQL Servervarsa bir hata verir bir mutator yöntem çağrıldığında bir Transact-SQL değeri null veya yeni bir değer tarafından üretilen, bir mutator yöntem null.

  • Bir özellik veya ortak değeri değiştirme alan kullanıcı tanımlı tür.ifade Kaynakları değer özellik türüne örtük olarak dönüştürülebilir olmalıdır olduğunu.Aşağıdaki örnek özelliğinin değerini değiştirir X , kullanıcı tanımlı tür işaret:

    UPDATE Cities
    SET Location.X = 23.5
    WHERE Name = 'Anchorage'
    

    Aynı kullanıcı tanımlı tür sütun farklı özelliklerini değiştirmek için birden çok güncelleştirme ifadeleri ya da harekete geçirmek bir mutator türü yöntem.

Aşağıdaki örnek türünün değerlerini ekler Point içine tablo:

INSERT INTO Cities (Name, Location)
VALUES ('Anchorage', CONVERT(Point, '23.5, 23.5'))

kullanıcı tanımlı tür değeri tablo veya görünüm eklemek için

  • INSERT (Transact-SQL)

  • kullanıcı tanımlı tür değeri tablo veya görünümü güncelleştirmek için

UPDATE (Transact-SQL)

Kullanıcı tanımlı tür değişken veya parametre kullanarak

You can declare a Transact-SQL variable, or the parameter of a Transact-SQL or Microsoft .NET Framework function or procedure, to be of a user-defined type.Aşağıdaki kurallar uygulanır:

  • Türü üzerinde execute izni olması gerekir.

  • işlev, saklı yordam veya kullanıcı tanımlı tür bildirim şema - içeren tetikleyici oluşturursanız,bağlama, türüne başvurular izninizin olması gerekir.

Bir tek parça ad kullanırsanız, SQL Server tür başvurusu aşağıdaki sırada bakmak:

  1. Geçerli veritabanında geçerli kullanıcı şema.

  2. Şeması, dbo geçerli veritabanında.

  3. Sistem yerel türü alanı.

Bildirmek için bir kullanıcı tanımlı tür bir Transact-sql değişkeni veya parametresi bir işlev veya yordam olarak

Kullanıcı tanımlı türler kullanma sınırlamaları

Oluşturma ve kullanıcı tanımlı türleri ile çalışma yaparken, aşağıdakileri göz önünde bulundurun:

  • kullanıcı tanımlı tür oluşturduğunuzda uzunluğu, ölçek, duyarlık veya diğer meta veriler tanımlayamazsınız SQL Server.

  • Bir sütun, değişken veya parametre başka bir veritabanı içinde tanımlanan kullanıcı tanımlı tür olarak bildirilemez.Daha fazla bilgi için bkz: Kullanıcı tanımlı türler veritabanları arasında kullanma.

  • Bu yalnızca kullanıcı tanımlı tür süresince geçerlidir ve iadesi çünkü kullanıcı tanımlı tür için önceden tanımlanmış bir özdeş olup olmadığını belirlemek için tür kimliği karşılaştırmak değil.Bunun yerine, clr türü adı ve değeri aygıtınkiyle tam olarak derleme adı derleme baytları karşılaştırın.

  • sql_variant sütunlar kullanıcı tanımlı tür örnekleri içerir.

  • Kullanıcı tanımlı türler clr yordamları, işlevleri veya Tetikleyiciler veya bölüm işlevleri varsayılan değerleri olarak kullanılamaz.

  • Kullanıcı tanımlı türler olamaz başvuru hesaplanmış sütunlar table değişkenleri.