I have a query that is more complicated, but basically creates an HTML page for me.
DECLARE @indSubject varchar(7)
SET @indSubject = '61-0036'
-- LOTS of query stuff here that makes a page. For simplicity
-- just use this:
SELECT '<html><body>' + @indSubject + '</body></html>'
I want to do two things:
- Have SQL Server save this on my machine somewhere with the name of
@indSubject.html (e.g. C:\TEMP\HTMLOUTPUT\61-0036.html) - Be able to pass different values to the @indSubject (e.g. 91-0003).
Something command line-ish ?
Can I do this with BCP? Some other way ?
Please note, this is all my personal stuff and this is not being deployed on a web server so I don’t have to really worry to much about security, SQL Injection etc (at least I hope I don’t!)
You can use SQLCMD to accomplish this fairly easily.
If you save your existing query as a .sql file, you can execute this using SQLCMD.
Additionally, SQLCMD will let you specify a variable inside of your .sql file
${indSubject}which you could then provide from the command line.Finally, using the
-oswitch, you can output the results directly to a file, and you can suppress the headers on your result set using the following environment setting::SETVAR SQLCMDHEADERS -1