2015-08-21 3 views
-1

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

create procedure SEL_STUDENT 
as 
begin 
select * from student 
end 
execute SEL_STUDENT 
go 

Но в любое время я пытаюсь выполнить следующую строку

execute SEL_STUDENT 

возвращает ошибку, говоря,

Msg 2812, Level 16 , Состояние 62, линия 53 Не удалось найти хранимую процедуру «SEL_STUDENT»

Пожалуйста, помогите мне исправить.

Спасибо.

+1

Убедитесь, что вы используете требуемую базу данных, и вы используете процедуру SEL_STUDENT в этой базе данных – TFrost

ответ

2

Я побежал код с помощью таблицы из базы данных AdventureWorks2012.

create procedure SEL_STUDENT 
as 
begin 
select * from [Person].[Person] 
end 
go 

execute SEL_STUDENT 

И он отлично работает.

Хотя я переехал GO выше execute SEL_STUDENT, это не проблема здесь, поскольку @CoOl указывает, потому что вы специально заявляете, что выполняете хранимую процедуру после своего блока кода.

Единственное возможное объяснение заключается в том, что вы запрашиваете execute SEL_STUDENT о неправильной базе данных.

Попробуйте следующий код -

USE [DatabaseName] 
GO 

execute SEL_STUDENT 

Здесь [DatabaseName] является база данных, где хранится хранимая процедура SEL_STUDENT таблицы.

Убедитесь, что ваша таблица также хранится в той же базе данных, или же вам придется изменить select * from student к select * from [DatabaseName].[SchemaName].[student]

Кроме того, вы можете использовать обозреватель объектов, чтобы определить, где была сохранена хранимая процедура. Я не могу опубликовать снимок, как это сделать, как моя репутация ниже 10.

EDIT: Теперь, когда моя репутация в двух цифр -

enter image description here

Пожалуйста, обратите внимание, что [DBO] является схема по умолчанию в SQL Server.

0

Поскольку вы пытаетесь выполнить хранимую процедуру, которая еще не существует.

Move GO выше execute SEL_STUDENT

create procedure SEL_STUDENT 
as 
begin 
select * from student 
end 
go 

execute SEL_STUDENT 
Смежные вопросы