Merhabalar bir önceki açtığım konuda viewlerin sıralamasını arkadaşların yardımıyla çözdüm ancak programımdan istediğim viewin, tablonun procedurun create DDL ini almak istiyorum
nasıl yapabilirim? şimdiden teşekkürler
istediğim viewin create ddl ni alma
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: istediğim viewin create ddl ni alma
Bu kodlar syscomments tablosunda text alanında bulunmaktadır. Mesela bir veri tabanına ait viewların kodlarını aşağıdaki sorgu ile direkt alabilirsiniz.
Kod: Tümünü seç
select obj.name, kod.text from syscomments as kod
left join sysobjects as obj on obj.id=kod.id
where obj.xtype='V' and not obj.name in ('syssegments','sysconstraints')
order by obj.id
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: istediğim viewin create ddl ni alma
Arkadaşım allah senden razı olsun...
Çok teşekkür ederim saygılarımla
Çok teşekkür ederim saygılarımla
Re: istediğim viewin create ddl ni alma
Kod: Tümünü seç
/****** Object: StoredProcedure [dbo].[ETSScript] Script Date: 12/08/2009 10:38:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ETSScript]
@ServerName varchar(30),
@DBName varchar(30),
@ObjectName varchar(50),
@ObjectType varchar(10),
@TableName varchar(50),
@ScriptFile varchar(255)
AS
DECLARE @CmdStr varchar(255)
DECLARE @object int
DECLARE @hr int
SET NOCOUNT ON
SET @CmdStr = 'Connect('+@ServerName+')'
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT
--Comment out for standard login
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', TRUE
/* Uncomment for Standard Login
EXEC @hr = sp_OASetProperty @object, 'Login', 'sa'
EXEC @hr = sp_OASetProperty @object, 'password', 'sapassword'
*/
EXEC @hr = sp_OAMethod @object,@CmdStr
SET @CmdStr =
CASE @ObjectType
WHEN 'Database' THEN 'Databases("'
WHEN 'Procedure' THEN 'Databases("' + @DBName + '").StoredProcedures("'
WHEN 'View' THEN 'Databases("' + @DBName + '").Views("'
WHEN 'Table' THEN 'Databases("' + @DBName + '").Tables("'
WHEN 'Index' THEN 'Databases("' + @DBName + '").Tables("' + @TableName + '").Indexes("'
WHEN 'Trigger' THEN 'Databases("' + @DBName + '").Tables("' + @TableName + '").Triggers("'
WHEN 'Key' THEN 'Databases("' + @DBName + '").Tables("' + @TableName + '").Keys("'
WHEN 'Check' THEN 'Databases("' + @DBName + '").Tables("' + @TableName + '").Checks("'
WHEN 'Job' THEN 'Jobserver.Jobs("'
END
SET @CmdStr = @CmdStr + @ObjectName + '").Script(4,"' + @ScriptFile + '")'
EXEC @hr = sp_OAMethod @object, @CmdStr
EXEC @hr = sp_OADestroy @object
GO
scripti ile istediğiniz procedure,table,view,index,database create ini alabilirisiniz bu sorunla karşılacak olan arkadaşlara yardımım dokunsun istediğim yoğun araştırmalar sırasında bulduğum güzel bir script
yukarıdaki Script(4, değerini 5 yaparsanız if not exists bloğunu koyuyor ama bunu koyarsanız viewleri create edemezsiniz 4 olarak kullanmanız en mantıklısı
iyi çalışmalar dilerim