T-SQL Определяемая пользователем перегрузка функции?

Этого можно добиться, установив атрибут android:noHistory в "true" в соответствующих записях в файле AndroidManifest.xml. Например:


25
задан Nick 26 June 2009 в 19:05
поделиться

4 ответа

Нет, нет способа сделать это.

Я рекомендую вам еще раз вернуться к этому требованию, поскольку «сделать яблоки похожими на апельсины» часто бывает сложно сделать, и ценность сомнительна.

11
ответ дан 28 November 2019 в 21:52
поделиться

Вы можете передать sql_variant , но он сопряжен со всевозможными опасностями; вы не можете использовать строгую типизацию, как вы можете использовать объектно-ориентированные языки и перегрузку.

Если вам нужно найти базовый тип в вашей функции, вы можете использовать функцию SQL_VARIANT_PROPERTY .

5
ответ дан 28 November 2019 в 21:52
поделиться

Вы можете передать массив значений в одной строке и проанализировать их , используя эту технику Эрланда Соммарскога .

Создайте функцию с varchar (max) параметр или несколько, если необходимо, тогда укажите значения параметров в этой строке, например:

param1;param2;parma3;param4

или

param1:type;param2:type;param3:type

или

calltype|param1;param2;param3

и т.д., вы ограничены только своим воображением ...

Используйте метод из ссылки для разделения этого массива и использования программной логики для использования этих значений по своему усмотрению.

1
ответ дан 28 November 2019 в 21:52
поделиться

Я все время перегружаю функции, но случайно знаю что такого рода проблемы часто сильно зависят от платформы.

В нашей системе DB2 я обычно перегружаю, например, следующее:

CREATE Function Schema1.F1 (parm date) возвращает дату {{1} } return date + 1month;

CREATE Function Schema1.F1 (parm timestamp) возвращает date return date (timestamp) + 1month;

Это действительно очень полезно, когда у вас несколько запросы с похожими реквизитами ременты.

Единственная проблема, которую я обнаружил до сих пор, заключается в том, что вам лучше быть уверенным, что вам нужна функция, потому что стандартная функция отбрасывания "schema". "Name" не работает, потому что не может определить, какую функцию отбросить. Если кто-нибудь знает, как удалить перегруженные функции sql, дайте мне знать!

-4
ответ дан 28 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: