2016-12-24 3 views
-3

Я хочу спросить о трюках для создания хранимой процедуры.Простой способ создания хранимой процедуры

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

Как это

CREATE PROCEDURE [dbo].[Insert_Vehicle_Procedure] 
    (@VehiclePlateNo varchar(max), 
    @Variety varchar(max) 
    ) 
AS 
    SET NOCOUNT OFF 

    INSERT INTO [dbo].[Vehicles] ([VehiclePlateNo], [Variety]) 
    VALUES (@VehiclePlateNo, @Variety) 

Иногда существуют сотни областей, чтобы написать их может быть очень раздражает :)

+0

Эта хранимая процедура довольно кратка, что именно вы ищете, чтобы «оптимизировать» здесь? Я полагаю, вы могли бы сделать свою переменную/сущность/и т. Д. имена * короче *, но вы быстро найдете уменьшение отдачи с этим, поскольку после нескольких символов эти уже сжатые имена перестанут эффективно описывать себя. Если вы просто не хотите вводить код, возможно, какой-то инструмент для генерации кода - это то, что вы ищете. Даже доморощенный. Вы можете запросить структуру таблицы и испустить текст вашей процедуры. – David

+1

BTW 'varchar' без длины такой же, как' varchar (1) 'там. Набор инструментов SSMS имеет помощник для создания простых процедур crud для таблицы. –

+0

Я знаю @MartinSmith Я написал, что я был просто примером. – Sososo

ответ

0

Почему просто не написать SQL скрипт самостоятельно, испускающий блок параметров сценария данных хранимой процедуры из запрос системных таблиц systables и syscolumns.

+0

Не могли бы вы объяснить это немного более ясно? Я думаю, что мне не хватает информации об этом. Я бы хотел улучшить свои знания в базе данных, если вы можете помочь в этом отношении. – Sososo

+0

Все имена столбцов и типы данных для таблицы хранятся в таблице syscolumns SQL Server. Если вы написали запрос, который выбрал данные из таблицы syscolumns (т. Е. Выбрал строку для каждого поля в вашей целевой таблице), вы можете легко получить оператор Select, чтобы написать строку текста типа «@VehiclePlateNo varchar (max)» только с данные в systables и systypes. – PhillipH