Как использовать локальные переменные в хранимых процедурах?

если я хочу выбрать какой-либо идентификатор из таблицы, и хотеть вставить это - значение в другой таблице как внешний ключ затем, как я сделаю это через хранимую процедуру?

11
задан Abe Miessler 27 May 2010 в 13:57
поделиться

3 ответа

Пример того, как я подхожу к этому.

DECLARE @MyID INT;

SET @MyID = 0;

SELECT @MyID = [TableID]
  FROM [MyTable]
 WHERE [TableID] = 99;

IF @MyID > 0
BEGIN

    INSERT INTO [MySecondTable]
         VALUES (@MyID, othervalues);

END
18
ответ дан 3 December 2019 в 06:45
поделиться

Oracle style variables:

DECLARE v_MyVariable1 NUMBER;
DECLARE v_MyVariable2 VARCHAR2(100);

BEGIN
    v_MyVariable1 := 0;
    SELECT INTO v_MyVariable2 CUSTOMER_NAME
        FROM CUSTOMERS;

    SELECT INTO v_MyVariable1 CUSTOMER_HISTORY_SEQ.NEXTVAL FROM DUAL;

    INSERT INTO CUSTOMERS_HISTORY (CUSTOMER_ID, CUSTOMER_NAME) VALUES (v_MyVariable1, v_MyVariable2);

    EXCEPTION
        WHEN OTHERS THEN
            NULL;
END;
0
ответ дан 3 December 2019 в 06:45
поделиться

Переменные стиля PostgreSQL:

DECLARE my_variable1 int;
DECLARE my_variable2 int;
BEGIN
  my_variable1 := 25;
  SELECT INTO my_variable2 id FROM my_table1;
  INSERT INTO my_table2 (my_field1, my_field2, id) VALUES ('XXX', 'YYY', my_variable2);
END;
0
ответ дан 3 December 2019 в 06:45
поделиться
Другие вопросы по тегам:

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