Database specific tags

Roust_mRoust_m Posts: 6
edited May 6, 2009 6:22AM in SQL Multi Script
Hi,

I think it would be very useful to have a feature to automatically replace some text inside the TSQL script depending on the database it will run against. Suppose I have three databases called MyDB_US, MyDB_UK and MyDB_FR. The generic script for all of them would contain:

SET @JOBNAME = N'{country_code}_MyNewJob'
EXEC msdb.dbo.sp_add_job @job_name=@JOBNAME, ...

At the time of execution {country_code} tag would be replaced to "US" for MyDB_US, to "UK" for MyDB_UK, etc.

Are there any plans to implement such feature?

Thanks.

Comments

  • Hi Roust_m,

    Thanks for the feedback, which we'll consider for the next release.

    Best regards,


    Colin.
  • In the meantime, you can do what you want using T-SQL:

    DECLARE @CURRENT_DB NVARCHAR(128) ;
    DECLARE @COUNTRY_CODE NVARCHAR(2) ;

    SET @CURRENT_DB = DB_NAME() ;
    SET @COUNTRY_CODE = SUBSTRING(@CURRENT_DB, LEN(@CURRENT_DB) - 1, 2) ;
    SELECT @CURRENT_DB AS 'Current DB',
    @COUNTRY_CODE AS 'Country Code' ;

    Let me know if this suits your requirements.
  • Yep, similar to what I am doing now, but this does not cover the whole thing, as there may be a job step parameter which is country specific.

    E.g. for UK it would be:
    exec spMySP 'Products','UK'
    for France:
    exec spMySP 'Produits','FR'
    for China:
    exec spMySP '產品','CN'

    and the generic script would look like:
    exec spMySP '{Product translation}','{Country code}'

    therefore it should also handle unicode.

    I understand that I can build a replacement table in the begining of the script. E.g.: if the last two characters of the database name equal to 'FR' then replace {Product translation} with 'Produits' and '{Country code}' with 'FR', but it would be easier to build separate scripts.

    It would be ideal if the app could search for the tags and prompt me to set the replacements for each database I am running the script against.
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hello,

    I have sent a link to your private messages to a build of Multi Script that can handle Unicode.
Sign In or Register to comment.