में तालिकाओं के लिए sp_helptext के समतुल्य जब हम संग्रहित प्रक्रियाओं उपयोग हम 'Sp_Helptext procedurename'एसक्यूएल सर्वर
कुछ इसी तरह तालिकाओं के लिए किया जा सकता है की क्वेरी की ज़रूरत है?
में तालिकाओं के लिए sp_helptext के समतुल्य जब हम संग्रहित प्रक्रियाओं उपयोग हम 'Sp_Helptext procedurename'एसक्यूएल सर्वर
कुछ इसी तरह तालिकाओं के लिए किया जा सकता है की क्वेरी की ज़रूरत है?
sp_helptext का प्रत्यक्ष समतुल्य प्रतीत नहीं होता है जो तालिकाओं के साथ काम करेगा।
दो विधियों है कि विभिन्न संदेश बोर्डों पर आम होने लगते हैं:
दूसरी विधि पर एक लेख है here
http://social.msdn.microsoft.com/Forums/en/transactsql/thread/28eeb603-1607-4b56-9461-3c0502cbec9c पर पहली विधि के कुछ उदाहरण देखे जा सकते हैं - यह कुछ सुंदर बालों वाली एसक्यूएल है हालांकि –
@ डैन एफ लॉल - मुझे लगता है कि आपने Google में 'sp_helptext तालिका' के लिए पहले परिणाम की जांच की है :) –
@ डेविड: हाहा, हाँ, मुझे एक स्याही थी यह एक आसान Google होगा :-) –
information_Schema.columns से followig का उपयोग करें क्वेरी
चयन * जहां TABLE_NAME = 'TableName'
Alt + F1 का उपयोग करें जबकि तालिका नाम एक तालिका विंडो में चयनित है।
इस एसपी के साथ प्रयास करें। इसमें प्राथमिक कुंजी और विदेशी कुंजी जैसी तालिका के लिए आवश्यक सभी नोटेशन नहीं हैं लेकिन शुरुआत है।
CREATE PROCEDURE [dbo].[GeneradorTablas]
@Tabla AS VARCHAR(100)
AS
BEGIN
DECLARE @Script AS VARCHAR(MAX) ='CREATE TABLE [dbo].[' + @Tabla + '](' + CHAR(13)
DECLARE @Columnas As TABLE(indice INT, Columna VARCHAR(1000))
INSERT INTO @Columnas
SELECT
ROW_NUMBER()OVER(ORDER BY C.column_id),
' [' + C.name + '] [' + TY.name + ']' +
CASE WHEN
TY.name='nvarchar' OR
TY.name='nchar' OR
TY.name='char' OR
TY.name='varbinary' OR
TY.name='varchar' OR
TY.name='text' THEN
'(' + CASE WHEN C.max_length>0 THEN CAST(C.max_length AS VARCHAR(10)) ELSE 'MAX' END + ')' ELSE ''
END +
CASE WHEN C.is_identity=1 THEN ' IDENTITY(1,1)' ELSE '' END +
' ' + CASE WHEN C.is_nullable=1 THEN 'NULL' ELSE 'NOT NULL' END + ','
FROM SYS.COLUMNS AS C
INNER JOIN SYS.TYPES AS TY ON C.system_type_id=TY.system_type_id
INNER JOIN SYS.TABLES AS T ON C.object_id=T.object_id
WHERE [email protected]
DECLARE @i AS INT
SELECT @i=MIN(indice) FROM @Columnas
WHILE @i IS NOT NULL
BEGIN
SELECT @Script+=Columna+CHAR(13) FROM @Columnas WHERE [email protected]
SELECT @i=MIN(indice) FROM @Columnas WHERE indice>@i
END
SET @Script=SUBSTRING(@Script,0,LEN(@Script)-1) + CHAR(13) + ')'
PRINT @Script
END
GO
सुंदर सरल:
sp_help YourTable
@Biswo - मैं काफी लगता है कि आपके सवाल था, यह बहुत पढ़ने के लिए मुश्किल था। कृपया पुष्टि करें कि मैंने सही तरीके से व्याख्या की है। –