|
SQL, UDF-функции | ☑ | ||
---|---|---|---|---|
0
Антиквар
10.02.12
✎
14:08
|
Всем привет!
На MS SQL 2005 есть БД, из 1С мне нужно получать данные из этой БД. С этим проблем нет, главное знать структуру, чтоб написать SQL-запрос. Но программисты БД (это их база на SQL) пишут, что в связи со сложностью структуры нужно использовать UDF-функции, которые они пишут. Прислали пример, файлик, с расширением SQL. Т.е. вроде как обычный скрипт, но внутри что-то типа запросов в перемешку с иероглифами. Причем открывая этот файл в SQL-менеджере иероглифы остаются. Подскажите, что за UDF-функции такие, как мне их использовать? И где они вообще находятся, в структуре БД на SQL их вроде как нет... К чему мне запросы то писать? |
|||
1
Господин ПЖ
10.02.12
✎
14:11
|
>Подскажите, что за UDF-функции такие
обычная функция пользователя |
|||
2
shuhard
10.02.12
✎
14:13
|
(0) [а запросов в перемешку с иероглифами]
натрави на него Штрилица а кодеров шли в сад, пусть хранимку сделают |
|||
3
Антиквар
10.02.12
✎
14:29
|
(1) А где эти функции хранятся, и могу ли я из 1С их как-то вызывать?
(2) да у меня с ними связи вообще нет :( Есть клиент, которому с одной стороны какая-то фирма делает SQL-базу для определеных задач, а я с другой стороны делаю ему конфигурацию на 1С. В 1С просто нужно периодически подтягивать данные из SQL. У разработчиков SQL свои задачи и свои обязанности, я не в курсе этого, но всё что они делают клиента устраивает. Конечно если нет возможности использовать UDF-функции из 1С, то буду просить чтобы что-то меняли. Но я пока не представляю что это... |
|||
4
shuhard
10.02.12
✎
15:16
|
(3) натрави на него Штрилица
|
|||
5
rs_trade
10.02.12
✎
15:28
|
(3) вызывать из 1С естественно можно. надо просто знать какой результат возвращает функция. скалярный или нет.
|
|||
6
shuhard
10.02.12
✎
15:34
|
(3) а по архитектуре, UDF живут на сиквеле что-то вида:
ALTER FUNCTION [dbo].[tango] (@Param1 decimal (4,1)) RETURNS decimal (12,3) -- тип данных возвращаемого значения. AS BEGIN RETURN (@Param1*100) END и вызываются в запросе: SELECT _IDRRef, _Code, _Description,dbo.tango(12) FROM _Reference7 |
|||
7
Антиквар
10.02.12
✎
15:52
|
(4) не понял что это :) Но яндекс подсказал, что программа раскодировки. Мне в принципе не важно что там внутри, согласен на черный ящик, лишь бы знать что нужно на вход и что на выходе. А это мне должны предоставить.
(5) на выходе набор записей (6) Спасибо! Т.е. я прямо в полях запроса могу указать UDF-функцию? Но откуда она возьмется, она хранится в БД??? Я что-то не нашел. |
|||
8
ДенисЧ
10.02.12
✎
15:53
|
(7) а как искал?
|
|||
9
Антиквар
10.02.12
✎
16:14
|
(8) открыл SQL менеджер, открыл там нужную БД, просмотрел структуру. Но там все привычно, хранимые процедуры, триггеры, ... ни о каких UDF я не слышал и сейчас не вижу :(
Но поскольку в обычном запросе можно к ней обратиться, то я думаю что она внутри БД должна быть где-то... |
|||
10
Антиквар
10.02.12
✎
17:20
|
вроде выяснил я, оказывается забыли программисты UDF-функции в базу включить :)
что меня и вводило в ступор, как писать запросы к тому, чего в базе нет :) |
|||
11
ДенисЧ
10.02.12
✎
17:25
|
жесть... :-)
А когда включат - скажи запрос sp_help_text 'имя функции' |
|||
12
shuhard
10.02.12
✎
17:26
|
(10) UDF живут на сиквеле
UDF бывают примитивные и сложные (5), для сложных есть особые приемы работы с рекордсетом |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |