Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неполучается хранимая процедура! 
:(
    Опции темы
sudus
Дата 18.2.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 2.7.2008

Репутация: нет
Всего: нет



Привет всем!!!
Я хочу написать хранимую процедуру в MS SQL Server - добавление  данных в таблицу. Есть три таблицы связаны через PRIMARY KEY "один ко многим" , как заполнить таблицы одной хранимой процедурой чтоб не вызывать три процедуры, т.е. возможно ли запихнуть в хранимую процедуру три INSERT ... VALUES(), если да то как?  если нет то как иначе решить ...
пробовал так но он ругается 
Код

BEGIN TRANSACTION;
USE [databese]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[addinfo]
        @PersonalAccountN int,
    @ConnectionDate datetime,
    @DisconnectDate datetime,
    @Adress nvarchar(50),
    @LastName nvarchar(50),
    @Name nvarchar(50),
    @Patronymic nvarchar(50),
    @Y_Fl nvarchar(50),
    @UD nvarchar(50),
    @RNN nvarchar(50),
    
AS
BEGIN
INSERT INTO dbo.klient
VALUES (    @PersonalAccountN,
        @ConnectionDate,
        @DisconnectDate, 
        @Adress,
        @LastName,
        @Name,
        @Patronymic,
        @Y_Fl,
        @UD,
        @RNN);
INSERT INTO dbo.telephon
VALUES (@Telephons);
END
ROLLBACK TRANSACTION;


Msg 156, Level 15, State 1, Procedure addinfo, Line 13
Incorrect syntax near the keyword 'AS'.
Msg 137, Level 15, State 2, Procedure addinfo, Line 27
Must declare the scalar variable "@Telephons".

PM MAIL   Вверх
boevik
Дата 18.2.2009, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 15
Всего: 35



Можно выполнить 3 и более инсертов и селектов.
По поводу ошибок:
1. после  @RNN nvarchar(50) убрать запятую.
2. не хватает определения @Telephons (видимо это отсутствующий параметр после @RNN)
3. непонятно что делает ROLLBACK TRANSACTION; после END. Команда находится уже после окончания объявления процедуры.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.