Hi, Mau nanya tentang t-sql di sql server 2005.
Saya bikin cursor seperti di bawah, intinya saya mau cari informasi di table dan field mana value yg saya punya. Contohnya, saya mau cari value 'UAT' di table issues. Permasalahannya, di line "IF EXISTS (SELECT * from issues where @column = @field_value)" itu selalu di anggap salah sehingga larinya ke ELSE terus. Saya coba check dengan nambahin beberapa statements buat check, SET @SQLString = N'SELECT * from issues where @column = @field_value'; EXECUTE (@SQLString) Ternyata saya dapat error, 'Must declare the scalar variable "@column" Bisa tolong masukannya kenapa @column gak dikenal sebagai value tapi sebagai parameter terus. Terima kasih. Note: Contoh scriptnya dibawah. ------------------------------------------------------------------------------------------------------- DECLARE @column varchar(50) DECLARE @field_value varchar (50) DECLARE @SQLString NVARCHAR(500); SET @field_value = 'UAT' DECLARE cr_column_names CURSOR for select column_name from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'issues' OPEN cr_column_names FETCH NEXT FROM cr_column_names into @column WHILE @@FETCH_STATUS = 0 BEGIN /* Statement tambahan buat ngecek kenapa di void terus di IF EXIST bawah */ SET @SQLString = N'SELECT * from issues where @column = @field_value'; EXECUTE (@SQLString) /* *** */ IF EXISTS (SELECT * from issues where @column = @field_value) /* Disini kondisinya selalu FALSE */ select @column ELSE select 'Not found, desc: ' + @column + ' and Field value is ' + @field_value FETCH NEXT FROM cr_column_names into @column END CLOSE cr_column_names DEALLOCATE cr_column_names
