Neden 362 satırında neden FROM @TableName
bağlamında bağlam kaybettiğimi bilmiyorum. Bu kod yığınını aldım ve bir tabloya değil ekrana çıktı olarak değiştirmeye çalışıyorum. SQL Server Management Studio değişkeni tanımıyor, ancak aynı değişkenin hemen üstündeki satırdan geldiğini biliyor.t-sql içerikli bağlamldı
DECLARE @TableName nvarchar(256),
@ColumnName nvarchar(128),
@SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%28217965%','''')
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
SELECT @TableName + '.' + @ColumnName, LEFT(@ColumnName, 3630)
FROM @TableName
WHERE @ColumnName + ' LIKE ' + @SearchStr2
END
END
END
ne demek istiyorsun:
gibi bir şey deneyin? – DLeh
Son 'SELECT' ifadesinin ne yapmasını bekliyorsunuz? – David
Bu değişkenin ne olduğunu şimdi biliyor – Justin