2010-06-01 33 views
10

SQL Server 2008 Enterprise kullanıyorum. Saklı yordamının 9 numaralı hattının kilitlenme sorunuyla karşılaştığını belirten bir sorunla karşılaştım. Sorum şu, saklı yordamın 9. satırını tam olarak nasıl bulabilirim?SQL Server saklı yordam satırı numarası sorunu

Benim karışıklığım kodlama biçimi sorunu nedeniyle, 9. satırı doğru bir şekilde bulmaktır. peşin

sayesinde George

+1

Marc, hat numarasını nasıl daha doğru bulacağınız konusunda herhangi bir deneyiminiz var mı? – George2

cevap

5

Bu CREATE PROCEDURE ifadeden 9 cümlesi. Bir SQL deyimi bu öncesinde CREATE USUL yukarıdaki yorum veya boş satırlar varsa yani "hat 9",

Ancak açıklamada (örneğin INSERT veya UPDATE) ilk satırında sevk edecektir satırlı sık sık o zaman yapamazsın Bu güvenmek ... böylece ALTER PROC ile toplu olarak ilk satır olarak ALTER PROC çalıştırın.

+0

1. Yani, en güvenilir yol, SQL Server Management Studio'dan proc değiştirip sonra satır numarasını saymak mı? 2. SQL Server Management Studio tarafından oluşturulan proc kodundan mağaza prosedürünün üzerindeki herhangi bir yorumu kaldıralım mı? çizgi ile başa çıkmak için mağaza prosedüründe çok satırlı deyimi nasıl davranacağını da "SET ANSI_NULLS AÇIK YOlDA SET QUOTED_IDENTIFIER GO" ve - – George2

+0

Benim karışıklık alter prosedür yukarıdaki satırlar satır numarası sayısı olarak sayılır mı hakkındadır sayı sayımı? – George2

+1

CREATE PROC – gbn

12

ben another answer öğrenilen bir ipucu ...

Bunu yaparsanız

sp_helptext (proc name) 

SQL çıktısı onun 'hatırlanan' prosedürünü oluşturmak açıklamada sürümü ve o buna satır numaralarını alır budur görünüşe göre. Eğer 'grid output' modunda SSMS varsa, o zaman aynı zamanda satır numaralarını da (sonuç kümesinin satır numaraları olarak) verecektir.

NB: Benim durumumda CREATE PROCEDURE deyiminden artı bir sürü yorumdan çalışıyordu, dolayısıyla satır 1, CREATE PROCEDURE çağrısının yaklaşık 6 satıra eşittir.

+0

+1 sayma. Teşekkürler! – LeopardSkinPillBoxHat

+2

Benim durumumda bir FYI gibi, 'sp_helptext proc_name' idi. Parensler başka bir amaç için örnekte olabilir, ancak onları dışarı çıkana kadar benim için çalışmadı. +1 olsa! – Shrout1

4

sp_helptext tarafından çıkarılan satır numaraları, hata iletisinde gördüğünüz satır numaralarından tamamen farklıdır.

Örneğin, benim saklı yordam hatamda hata, satır numarası 194'te gerçekleştiğini ancak aslında saklı yordamın sp_helptext gösterdiğimde yalnızca 136 satır gösterdiğini söyledi. BTW, SQL Server 2008 kullandım.

+1

SP'nizi alter komut dosyasını kullanarak yeniden çalıştırmak için en iyi yöntem olduğunu düşünüyorum ve prosedürün ilk satır olduğunu ve yukarıdaki yorum vb. sonra sunulan hata satırı numaraları eşleşmelidir. – Christo

İlgili konular