powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ERROR: mismatched parentheses
3 сообщений из 3, страница 1 из 1
ERROR: mismatched parentheses
    #33757944
Snegovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никак не могу понять чего plpgsql выдает ошибку, какое не соответствие скобок. Подскажите плиз.
WARNING: plpgsql: ERROR during compile of new_cards near line 42

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
CREATE FUNCTION new_cards (text, integer, integer, double precision, integer, integer) RETURNS integer
    AS '
DECLARE

    crd_type ALIAS FOR $1;
    __begin ALIAS FOR $2;
    _count ALIAS FOR $3;
    _cost ALIAS FOR $4;
    _service_type ALIAS FOR $5;
    _cgid ALIAS FOR $6;

    rec RECORD;
    i integer;
    _login text;
    dopt_st integer;
    cbst integer;
    _passwd bigint;
    _open_num text;
        _card_id integer;
        _dialup_service_id integer;
BEGIN

    FOR i IN __begin .. __begin+_count-1 LOOP
        LOOP
		
		_login=round(random()*1000000000000);
		_passwd=round(random()*1000000000000);
		RAISE NOTICE ''login = %'', _login;
		RAISE NOTICE ''password = %'', _passwd;
		_open_num=crd_type||''-''||i;
 
		SELECT INTO rec
			id
		FROM
			service
		WHERE
			name = _login;

		IF rec.id IS NULL
		THEN 
			IF _passwd>100000000000
			THEN
				select into _card_id max(id_cards) from cards;
				INSERT INTO cards(id_cards,status_id,packet_type_id,card_login,card_passwd,open_number,value)
					VALUES (_card_id+1, 1, _service_type, _login,_passwd, _open_num,_cost);

				INSERT INTO service (name, currency, maintarifplan, client, service_type, cgid)
					VALUES (_login, 2, _service_type, 390, _service_type, _cgid);

				select into _dialup_service_id max(id) from service;
					
				INSERT INTO statistics_service (service, login, pswd)
					VALUES (_dialup_service_id, _login, _passwd);

				INSERT INTO dialup_service (id, service, login, pswd)
					VALUES (_dialup_service_id, _dialup_service_id, _login, _passwd);

				INSERT INTO payment (payment, paymentwb, rest, _limit, flag, paymenttype, _begin, _end, pri, service, type, pst)
					VALUES (_cost, _cost, _cost, 0, 3, 2, now(), now(), 1, _dialup_service_id, 2, 1)

				INSERT INTO dialopt (service, type, val)
					VALUES (_dialup_service_id, 1, 32);

				INSERT INTO dialopt (service, type, val)
					VALUES (_dialup_service_id, 2, 4);
				EXIT;
			END IF;
		END IF;
            RAISE NOTICE ''Такой логин уже существует !!! Генерим новый'';
        END LOOP;
    END LOOP;
    RETURN 0;
END;
'
    LANGUAGE plpgsql;
...
Рейтинг: 0 / 0
ERROR: mismatched parentheses
    #33757978
Алексей Ключников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тяжело считать 42 строчки.. подсветили бы хотябы.
Код: plaintext
1.
2.
INSERT INTO payment (payment, paymentwb, rest, _limit, flag, paymenttype, _begin, _end, pri, service, type, pst)
					VALUES (_cost, _cost, _cost,  0 ,  3 ,  2 , now(), now(),  1 , _dialup_service_id,  2 ,  1 )
Для начала, вот после этой строчки попробуйте поставить ;
...
Рейтинг: 0 / 0
ERROR: mismatched parentheses
    #33757994
Snegovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мда, иногда только задав вопрос сам быстро находишь решение.
До этого сидел пару часов, запостил - через 5 минут сам определил.
Но все равно, спасибо за ответ =)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ERROR: mismatched parentheses
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]