Solved

Variables for table and column names using the UPDATETEXT command

Posted on 2008-06-25
3
645 Views
Last Modified: 2008-06-26
I'm trying to use updatetext to replace some text in text columns in a number of different tables.  Obviously there is some looping involved.  At the heart of the loop I want to execute something like this:

      updatetext @TableName.@ColumnName @ptr @pos @txtlen @ntxt

I get this error using this arrangement:

      Server: Msg 170, Level 15, State 1, Line 134
      Line 134: Incorrect syntax near '@TableName'.

If I use an actual table name and column name, the statement appears to work.  However, I need to be able to substitute a new table name for each loop, so I'm back to the drawing board if I can't use a variable instead.

1)  Is it not possible with the updatetext command to use variables for the table and column names?

2)  If it's not possible, what other approach might I take to automate this task?

Thanks.

Scott
0
Comment
Question by:conderscott
  • 2
3 Comments
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 21868872
you cannot use variables there.
the only approach with variables would be to build the dynamic sql, however that fails with the reference to the ntext parameter.
so, the only real solution is to have 1 procedure per table/column you want to do this.
0
 

Author Comment

by:conderscott
ID: 21873921
angelIII:

Thanks for the comment.  You're right.  I have tried the dynamic route and it seems to fail due to the binary @ptr variable.

Another idea:  if I loaded the records one at a time into a temp table, could I use updatetext on the temp table?  That way the table would always have the same name.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 21874204
sorry, but I had tried that also ... no go.
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question