I use this query to Find a string in a database, but I got this error for a particular DB:
Incorrect syntax near 'seem'.
So I would like to know the reason for that
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
SET NOCOUNT ON
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = quotename( '%NQF%0028a%' , '''' )
WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT min(quotename(TABLE_SCHEMA) + '.' + quotename(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND quotename(TABLE_SCHEMA) + '.' + quotename(TABLE_NAME) > @TableName
AND objectproperty(object_id(quotename(TABLE_SCHEMA) + '.' + quotename(TABLE_NAME)), 'IsMSShipped') = 0
)
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName = (SELECT min(quotename(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = parsename(@TableName, 2)
AND TABLE_NAME = parsename(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND quotename(COLUMN_NAME ) > @ColumnName )
IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
('SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
FROM ' + @TableName + ' (NOLOCK) ' +
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
)
END
END
END
SELECT ColumnName , ColumnValue FROM #Results**strong text**
Looks like your have a space in your table name. Check the table that has "SEEM" as part of it's name and remove the space, if possible. If change of table name is not an option, wrap the @TableName
variable in []
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.