Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Created .sql scripts from scripts
Message
De
20/01/2010 12:53:24
 
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Scripting
Versions des environnements
SQL Server:
SQL Server 2008
Divers
Thread ID:
01444928
Message ID:
01445031
Vues:
33
I found the link you referred to in your other message in googling around, but I think i may be asking the wrong question or expecting something of tsql it doesn't now how to do :

I want to put TSQL in a script that is now sending PRINT statements to the message window that will, instead, send them to a specifically named file. Can I invoke the sqlcmd line utility from within a TSQL script I am running in SSMS?

Obviously you know how we'd do this in fox with a textmerge and I know how i'd do it in VB or C#.

I have this script, for example :
DECLARE @indexName VARCHAR(128)
DECLARE @tableName VARCHAR(128)

DECLARE [indexes] CURSOR FOR
	
	SELECT	[sysindexes].[name] AS [Index],
			[sysobjects].[name] AS [Table]
	
	FROM	[sysindexes]
	
	INNER JOIN	[sysobjects]
	               ON	[sysindexes].[id] = [sysobjects].[id]
	
	WHERE	[sysindexes].[name] IS NOT NULL
	AND		[sysobjects].[type] = 'U'

OPEN [indexes]

FETCH NEXT FROM [indexes] INTO @indexName, @tableName

WHILE @@FETCH_STATUS = 0
BEGIN 

        PRINT 'DROP INDEX [' + @indexName + '] ON [' + @tableName + ']'

	FETCH NEXT FROM [indexes] INTO @indexName, @tableName
END

CLOSE		[indexes]
DEALLOCATE	[indexes]
I want to tell it that everything in PRINT should PRINT TO FILE DropIndexes.sql

Is that possible in T-SQL?

And if it is, is there a T-SQL command that will then execute DropIndexes.sql ?




>The SqlCmd command line utility may work for you
>
>
>SqlCmd -S ServerName  -i "Input Script name" -o "Output script name" 
>
>
>>I have four scripts that use metadata and PRINT commands to create scripts that perform alterations on a database schema and data.
>>
>>Currently the output is going to a message window, i am cutting and pasting into a new query and running the result.
>>
>>I would like to have each "creation" script put its output into a new script.
>>
>>The goal is to consolidate the four "creation" scripts into one, and have each of the four batches within that script create its own .sql file ( the name and location would remain fixed with automatic overwrite ) and then to run those four scripts in sequence.
>>
>>I see that I can point the results of a query to file rather than the message window but don't see how to do that programmatically in T-SQL
>>
>>As always, guidance appreciated.


Charles Hankey

Though a good deal is too strange to be believed, nothing is too strange to have happened.
- Thomas Hardy

Half the harm that is done in this world is due to people who want to feel important. They don't mean to do harm-- but the harm does not interest them. Or they do not see it, or they justify it because they are absorbed in the endless struggle to think well of themselves.

-- T. S. Eliot
Democracy is two wolves and a sheep voting on what to have for lunch.
Liberty is a well-armed sheep contesting the vote.
- Ben Franklin

Pardon him, Theodotus. He is a barbarian, and thinks that the customs of his tribe and island are the laws of nature.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform