Начало » Использование СУБД » Firebird, HQbird, InterBase » Вопрос на засыпку  
	
		
		
			| Вопрос на засыпку [сообщение #262] | 
			Wed, 03 August 2022 08:28   | 
		 
		
			
				
				
				
					
						  
						DarkMaster
						 Сообщений: 48 Зарегистрирован: August 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Вводная - есть старая система на FB. Есть пользовательские "сетки", хранящиеся в таблице GRIDS (например) в виде: { GRIDNAME, FIELDNAME, FIELDCAPTION, VISIBLE }.  
Т.е. "сетка/грид" для запроса : 
 
SELECT ID,NAME FROM FRIENDS 
 
в таблице GRIDS будет иметь вид: 
 
GRIDNAME      FIELDNAME FIELDCAPTION  VISIBLE 
FRIENDS_GRID  ID        Идентификатор   0 
FRIENDS_GRID  NAME      Имя друга       1 
 
В дополнение есть таблица "отчетов/запросов", которая хранит инфу о SQL запросах и именах сеток. По факту - берем из БД запрос, настраиваем сетку по имени, показываем пользователю - все ясно и прозрачно. В запросах SELECT из таблиц, процедур, execute block. 
 
Теперь о грустном - надо ввести в GRIDS дополнительное поле типа FIELDFORMAT (например) для использования другой софтиной. Достаточно будет определить, какие поля в запросе DATE,TIME,TIMESTAMP. Вот как бы это вывернуть без написания специальной тузлы, которая выполнит/препарирует запрос, определит, что за поля он вернул и обновит соответствующую ему сетку в GRIDS.  
 
Т.е. на запрос: 
 
select t.id, t.mydate, n.name 
from t 
join n on (n.did=t.id) 
 
Вернулось бы что-то в виде: 
 
id INTEGER 
mydate DATE 
name VARCHAR 
 
Можно ли такое вывернуть на SQL вообще? Подозреваю, что нет, но так - на всякий случай спрашиваю.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
  
 
Переход к форуму:
 
 Текущее время: Tue Nov 04 02:56:53 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00804 секунд 
 |