cevap
Üzerine sağ tıklandığında "ALTER TO" gibi bir seçenek alamıyorum. Bunu yapamıyorum. Bırakmanız/yeniden oluşturmanız gerekir. Eğer TVP üzerinde bağımlılıkları varsa, yapmanız gerekir:
- TVP eski (1)
- damla
- yeniden oluşturun (1) orijinal adıyla altında kullanmak için yeni bir ad altında
- alter bağımlılıkları yeni TVP oluşturmak
- alter bağımlılıkları Benbuldum (4)
- damla (1)
Teşekkür ederim, ama güçlük berbat. –
kullanmak, bağımlılıkları geçici olarak düşürerek ve sonra bunları yeniden oluşturarak süreci otomatikleştirmenin bir yolunu sunar.
Biraz değiştirdim.
1.You aşağıdaki prosedürü oluşturmalıdır:
-- Find all referencing objects to user-defined table type in @fullObjectName parameter
-- and generate DROP scripts and CREATE scripts for them
CREATE PROC [dbo].[alterTableType] (@fullObjectName VARCHAR(200))
AS
BEGIN
SET NOCOUNT ON
IF (TYPE_ID (@fullObjectName) IS NULL)
BEGIN
RAISERROR ('User-defined table type ''%s'' does not exists. Include full object name with schema.', 16,1, @fullObjectName)
RETURN
END;
WITH sources
AS
(
SELECT ROW_NUMBER() OVER (ORDER BY OBJECT_NAME(m.object_id)) RowId, definition
FROM sys.sql_expression_dependencies d
JOIN sys.sql_modules m ON m.object_id = d.referencing_id
JOIN sys.objects o ON o.object_id = m.object_id
WHERE referenced_id = TYPE_ID(@fullObjectName)
)
SELECT 'BEGIN TRANSACTION'
UNION ALL
SELECT
'DROP ' +
CASE OBJECTPROPERTY(referencing_id, 'IsProcedure')
WHEN 1 THEN 'PROC '
ELSE
CASE
WHEN OBJECTPROPERTY(referencing_id, 'IsScalarFunction') = 1 OR OBJECTPROPERTY(referencing_id, 'IsTableFunction') = 1 OR OBJECTPROPERTY(referencing_id, 'IsInlineFunction') = 1 THEN 'FUNCTION '
ELSE ''
END
END
+ SCHEMA_NAME(o.schema_id) + '.' +
+ OBJECT_NAME(m.object_id)
FROM sys.sql_expression_dependencies d
JOIN sys.sql_modules m ON m.object_id = d.referencing_id
JOIN sys.objects o ON o.object_id = m.object_id
WHERE referenced_id = TYPE_ID(@fullObjectName)
UNION ALL
SELECT 'GO'
UNION ALL
SELECT CHAR(13) + CHAR(10) + '---- WRITE HERE SCRIPT TO DROP OLD USER DEFINED TABLE TYPE AND CREATE A NEW ONE ----' + CHAR(13) + CHAR(10)
UNION ALL
SELECT
CASE
WHEN number = RowId THEN DEFINITION
ELSE 'GO'
END
FROM sources s
JOIN (SELECT DISTINCT number FROM master.dbo.spt_values) n ON n.number BETWEEN RowId AND RowId+1
UNION ALL
SELECT 'COMMIT'
END
2.Then bir giriş parametresi olarak masa tipi adıyla çalıştırmak gerekir. Sonuçları grid formatında göster (çünkü metin formatı uzun metinleri kesebilir), tüm sonuç tablosunu seçin ve yeni bir sorgu penceresine kopyalayın.
Bunu test ettiniz mi? – Shiva
@Shiva - Evet yaptım. Benim için çalıştı. – BornToCode
bu harikaydı. Bana çok zaman kazandırır – Keith
- 1. Çalışma zamanı parametresinin değiştirilmesi Delphi 2010'da neden yeniden oluşturulsun?
- 2. Tablo filtresi jQuery eklentisinin değiştirilmesi
- 3. Delphi: Saklı yordamın çıkış parametresinin değeri nasıl alınır?
- 4. Tablo sonuçlarında sorgu sonucu sütunlar nasıl yapılır?
- 5. Twig ile İki Sütun Tablo Nasıl Yapılır?
- 6. Mevcut tablo alanının MAXSIZE değeri nasıl belirlenir?
- 7. Android: SeekBar Artış Değeri - Nasıl Yapılır
- 8. Yöntem parametresinin açıklaması nasıl görüntülenir?
- 9. değiştirilmesi içeriği()
- 10. Tablo Değeri İsteğe bağlı parametre
- 11. TABLO HÜCRE DEĞERİ = .... SONRA (çalışmayan)
- 12. Pandalar filtre pivot tablo değeri
- 13. Metin dosyasındaki bir değeri yalnızca son sayının değiştirilmesi mi gerekiyor?
- 14. Bir MSSQL sorgusuna tablo değeri işlevi ekleme
- 15. Bir NSNumber değerinin değiştirilmesi
- 16. Raylar + Haml: Etiket parametresinin nasıl çıkarılacağı?
- 17. Şablon parametresinin türü nasıl kontrol edilir?
- 18. Php SQL Server tablo değeri parametresi
- 19. Oracle'da iki tablo için diğer adlarla birleştirme nasıl yapılır?
- 20. LEFT JOIN 2'den fazla tablo ile nasıl yapılır?
- 21. Sütunlarda eşit genişlikte% 100 genişlikli bir tablo nasıl yapılır?
- 22. Arabellek kullanılarak erişilen geçici tablo aracılığıyla yineleme nasıl yapılır?
- 23. Oracle tablo isimleri büyük/küçük harf duyarsız nasıl yapılır?
- 24. UIPageViewController tablo yeniden kullanım hücresi gibi yeniden denetleyici nasıl yapılır?
- 25. tabBar.title! = NavBar.title nasıl yapılır?
- 26. değiştirilmesi foreach
- 27. Tablo alanının varsayılan değeri 0.00 olarak nasıl ayarlanır?
- 28. Faktör parametresinin anlamı ve kullanımı glPolygonOffset
- 29. NHibernate, Func <T> parametresinin nasıl atanmasını sağlar.
- 30. Bir WCF web hizmetinde dönüş parametresinin bir çıkış parametresinin sonlandırılmasını nasıl önleyebilirim? aşağıdaki gibi
TVP için ALTER TO? TVP, bir işlev/prosedür tanımının parçasıdır. Bir varlık kendi başına değil !? – Nestor
ALTER TO seçeneği aktif değil RT? – anishMarokey
Tablo değerli parametreler, SQL Server 2008'de yeni bir parametre türüdür. Tablo değerli parametreler, kullanıcı tanımlı tablo türleri kullanılarak bildirilmiştir. ALTERing kullanıcı tanımlı tablo türü hakkında soru soruyorsunuz? Bildiğim kadarıyla, kullanıcı tanımlı bir tablo türünü CREATE ve DROP yapabilirsin, fakat bunu ALTER olarak değil. – Nestor