Jak wybrać z jakiejś tabeli wszystkie pola które zawierają np. litere t
SELECT * FROM JakasTabela WHERE * LIKE '%t%';
to mi nie działa
WHERE * LIKE '%t%';
raczej nie ruszy. Musisz podać konkretne kolumny. Inaczej będą porównywane kolumny o typach liczbowych czy daty. Na nich taka operacja (bez jawnego rzutowania) na pewno się wysypie.napisz sobie procedure ktora zwroci warunek where jako varchar
CREATE PROCEDURE(@TABLE sysname; @CONDITION VARCHAR)
BEGIN
DECLARE @SQL VARCHAR(8000)
SET @SQL =
'DECLARE COLS CURSOR FAST FORWARD FOR ' +
'SELECT name, xType FROM syscolumns WHERE id = OBJECT_ID(''' + @TABLE + '') '''
itd
a potem robisz sobie dodawanie kolejnych kolumn plus cast warunku ze wzgledu na typ kolumny
Z pamieci pisze wiec cos moze byc nie tak :)
Wynik takiej procedury stworzy Ci warunek postaci col1 = condition OR col2 = condition ...
@crowa: autor mowil o postgresie, nie o TransactSQL.
@autor: ale podobna rzecz pewnie da sie tez zrobic w postgresie, PL/pgSQL jest dosc rozbudowany
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.