Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
Здравствуйте многоуважаемый All!!!
С данной проблемой бьюсь 3-й день, начальство торопит, подскажите, что не так.
/****** Object: Table [dbo].[Работник] Script Date: 06.04.2004 10:08:20 ******/
CREATE TABLE [dbo].[Работник] (
[Работник_ID] [int] IDENTITY (1, 1) NOT NULL ,
[РаботникТабельныйНомер] [int] NOT NULL ,
[РаботникИмя] [nchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботникОтчество] [nchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботникФамилия] [nchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботникПринят] [datetime] NOT NULL ,
[РаботникДолжность] [int] NOT NULL ,
[РаботникПодразделение] [int] NOT NULL ,
[РаботникАдрес] [nchar] (500) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботникТелефон] [nchar] (20) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботникОбразование] [nchar] (100) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

/****** Object: Stored Procedure dbo.INS_Работы Script Date: 06.04.2004 10:08:20 ******/
CREATE PROCEDURE dbo.INS_Работы (
@РабНом numeric,
@РабОтв nchar(50),
@РабИсполн nchar(50),
@РабНаим nchar(500),
@РабУчаст nchar(100),
@РабНачало datetime,
@РабОконч datetime,
@РабДнДоППР int,
@РабКласс nchar(50),
@РабТип nchar(100)
)
AS

declare @Ответственный int
declare @Исполнитель int
declare @Участок int
declare @Класс int
declare @Тип int

select @Ответственный = (select dbo.Работник.Работник_ID from dbo.Работник where dbo.Работник.РаботникФамилия = @РабОтв)
select @Исполнитель = (select dbo.Работник.Работник_ID from dbo.Работник where dbo.Работник.РаботникФамилия = @РабИсполн)
select @Участок = (select dbo.Подразделение.Подразделение_ID from dbo.Подразделение where dbo.Подразделение.ПодразделениеНаименование = @РабУчаст)
select @Класс = (select dbo.КлассРабот.КлассРабот_ID from dbo.КлассРабот where dbo.КлассРабот.КлассРаботНаименование = @РабКласс)
select @Тип = (select dbo.ТипРабот.ТипРабот_ID from dbo.ТипРабот where dbo.ТипРабот.ТипРаботНаименование = @РабТип)

insert dbo.Работы (
-- в данном месте сообщает об отссутствии объекта dbo.Работы Но она же
-- ЕСТЬ!!!
"РаботыНомер",
"РаботыОтветственный",
"РаботыИсполнитель",
"РаботыНаименование",
"РаботыУчасток",
"РаботыНачало",
"РаботыОкончание",
"РаботыДнейДоППР",
"РаботыКласс",
"РаботыТип"
)
values (
@РабНом,
@Ответственный,
@Исполнитель ,
@РабНаим,
@Участок,
@РабНачало,
@РабОконч,
@РабДнДоППР,
@Класс,
@Тип
)
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Плз, помогите, кто чем может, жду!!!
6 апр 04, 08:21    [613656]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
Luchkin Dmitry
Member

Откуда: Новосибирск -> Ангарск -> Братск -> Мск
Сообщений: 1921
например тот юзер, от лица которого выполняется скрипт не имеет прав.
а вообще-то не надо переводов ошибок, ни к чему это.
давайте полный настоящий текст
6 апр 04, 08:30    [613665]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
YuriAM
Member

Откуда:
Сообщений: 829
А ты попробуй взамен Insert Values Использовать SELECT INTO
Вот и увидишь, что таблица не существует !
6 апр 04, 08:30    [613666]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
YuriAM
Member

Откуда:
Сообщений: 829
У тебя [dbo].[Работник] , а не [dbo].[Работы]
6 апр 04, 08:32    [613669]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
Glory
Member

Откуда:
Сообщений: 104760
-- в данном месте сообщает об отссутствии объекта dbo.Работы Но она же
-- ЕСТЬ!!!


И где доказательства существования этой таблицы ?
В предоставленном вами скрипте таковых не вижу
6 апр 04, 08:32    [613670]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
CREATE PROCEDURE dbo.INS_Работы (
@РабНом numeric,
@РабОтв nchar(50),
@РабИсполн nchar(50),
@РабНаим nchar(500),
@РабУчаст nchar(100),
@РабНачало datetime,
@РабОконч datetime,
@РабДнДоППР int,
@РабКласс nchar(50),
@РабТип nchar(100)
)
AS

declare @Ответственный int
declare @Исполнитель int
declare @Участок int
declare @Класс int
declare @Тип int

select @Ответственный = (select dbo.Работник.Работник_ID from dbo.Работник where dbo.Работник.РаботникФамилия = @РабОтв)
select @Исполнитель = (select dbo.Работник.Работник_ID from dbo.Работник where dbo.Работник.РаботникФамилия = @РабИсполн)
select @Участок = (select dbo.Подразделение.Подразделение_ID from dbo.Подразделение where dbo.Подразделение.ПодразделениеНаименование = @РабУчаст)
select @Класс = (select dbo.КлассРабот.КлассРабот_ID from dbo.КлассРабот where dbo.КлассРабот.КлассРаботНаименование = @РабКласс)
select @Тип = (select dbo.ТипРабот.ТипРабот_ID from dbo.ТипРабот where dbo.ТипРабот.ТипРаботНаименование = @РабТип)

insert dbo.Работы (
"РаботыНомер",
"РаботыОтветственный",
"РаботыИсполнитель",
"РаботыНаименование",
"РаботыУчасток",
"РаботыНачало",
"РаботыОкончание",
"РаботыДнейДоППР",
"РаботыКласс",
"РаботыТип"
)
values (
@РабНом,
@Ответственный,
@Исполнитель ,
@РабНаим,
@Участок,
@РабНачало,
@РабОконч,
@РабДнДоППР,
@Класс,
@Тип
)
GO

причем следующая процедура катит за милу душу:

CREATE PROCEDURE dbo.Sel_Раб
AS
select * from dbo.Работы
GO
6 апр 04, 08:39    [613676]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
Запускаем в SQL Query Analizer
exec INS_Работы 1,
'Иванов',
'Иванов',
'Ремонт',
'ОАО "ТИСМА"',
'2001-01-01 00:00:00.000',
'2001-01-01 00:00:00.000',
12,
'Легкие',
'Легкие'
имеем:
Server: Msg 208, Level 16, State 3, Procedure INS_Работы, Line 27
Invalid object name 'dbo.Работы'.
Запускаем
exec Sel_Раб
имеем табличку, со значениями
6 апр 04, 08:47    [613686]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
Sorry немного перепутал структура ее такова:
Генерирую скриптик:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Работы]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Работы]
GO

CREATE TABLE [dbo].[Работы] (
[Работы_ID] [int] IDENTITY (1, 1) NOT NULL ,
[РаботыНомер] [numeric](18, 0) NOT NULL ,
[РаботыОтветственный] [int] NOT NULL ,
[РаботыИсполнитель] [int] NOT NULL ,
[РаботыНаименование] [nchar] (500) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[РаботыУчасток] [int] NOT NULL ,
[РаботыНачало] [datetime] NOT NULL ,
[РаботыОкончание] [datetime] NULL ,
[РаботыДнейДоППР] [int] NOT NULL ,
[РаботыКласс] [int] NOT NULL ,
[РаботыТип] [int] NOT NULL
) ON [PRIMARY]
GO
6 апр 04, 08:51    [613690]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ну если создаете процедуру с SET QUOTED_IDENTIFIER OFF, то будьте тогда добры перечисолять имена столбцов в INSERT БЕЗ ".
В таких вот скобках [] к примеру
6 апр 04, 09:01    [613703]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
:):):) Спасибо, катит!!!!! :):):)
А можно поподробнее об сим SET QUOTED_IDENTIFIER, его можно-ли отключить посредством дизайнера????
6 апр 04, 09:12    [613724]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
Glory
Member

Откуда:
Сообщений: 104760
Подробности в BOL.
В дизайнере прямо так и пишите

SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE ...
GO
6 апр 04, 09:18    [613741]     Ответить | Цитировать Сообщить модератору
 Re: При ввполнении сохраненная процедура вставки выдает ошибку  [new]
wolf-st
Member

Откуда:
Сообщений: 13
Еще раз большое спасибо!!!!
6 апр 04, 09:23    [613760]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить