Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 13

Вызов хранимой процедуры

25.09.2012, 21:01. Показов 2432. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ка мне можно вызвать хранимую процедуру из SQL скрипта ?
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
 
CREATE VIEW dbo.PersonInfo WITH SCHEMABINDING
 
AS
--DECLARE @str nvarchar(100) = EXECUTE ('1 2 3 4 5 6') AT GetStreet
SELECT
         [dbo].[ContactGeneral].[ContactID],
        
         (SELECT [FirstName] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))) + ', '  + 
         (SELECT [LastName] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))) + ' ' + 
             ((CASE WHEN ISNULL((SELECT [Middle] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))), '') = ''
            THEN ''
            ELSE (SELECT [Middle] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))) END)) AS [LegalName],
            
            
         (SELECT [FirstName] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Stage Name'))) + ', '  + 
         (SELECT [LastName] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Stage Name'))) + ' ' + 
             ((CASE WHEN ISNULL((SELECT [Middle] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Stage Name'))), '') = ''
            THEN ''
            ELSE (SELECT [Middle] FROM [dbo].[ContactNames] WHERE ContactID = [dbo].[ContactGeneral].[ContactID] AND NameTypeID = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Stage Name'))) END)) AS [StageName],        
        
         
         (SELECT [SalutationText] FROM [dbo].[Salutations] WHERE [SalutationID] = [dbo].[ContactNames].SalutationID) AS [Salutation],
         (SELECT [Suff] FROM [dbo].[Suffixes] WHERE [SuffID] = [dbo].[ContactNames].SuffixID) AS [Suffix],
                 
       
        --(SELECT [Type] FROM [dbo].[ContactTypes] WHERE [TypeId] = [dbo].[ContactGeneral].ContactTypeID) AS [ContactType],
 
        (SELECT [Children] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [Children],
        (SELECT [Emergency] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [Emergency],
        (SELECT [Partner] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [Partner],
        (SELECT [BirthDate] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [BirthDate],
        (SELECT [DeathDate] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [DeathDate],
        (SELECT [FormerNames] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [FormerNames],
        (SELECT [GiftPreferences] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [GiftPreferences],
        (SELECT [Languages] FROM [dbo].[ContactPersonal] WHERE [ContactID] = [dbo].[ContactGeneral].ContactID) AS [LanguagesSpoken],
        (SELECT [LanguageName] FROM [dbo].[Languages] WHERE [LanguageID] = (SELECT [NYSWTPA_LangID] FROM [dbo].[ContactPersonal] WHERE ContactId = [dbo].[ContactGeneral].ContactID)) AS [NYWSTRA_LandID],
        (SELECT [IsTranslatorReq] FROM [dbo].[ContactPersonal] WHERE ContactId = [dbo].[ContactGeneral].ContactID) AS [TranslatorReq],
 
        (CASE WHEN (SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]) = '' THEN '' 
        
        ELSE (
        
ЗДЕСЬ НАДА ВЫЗВАТЬ ХРАНИМУЮ ПРОЦЕДУРУ (GetStreet) и передать ей 
((SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) ??????????
 
        (SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])
        ) + ', '
        
        END) + ISNULL((SELECT [CityName] FROM [dbo].[Cities] WHERE ([CityID] = (SELECT TOP(1) [CityId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]))) + ', ', '') + 
        (CASE WHEN ISNULL((SELECT [StateName] FROM [dbo].[States] WHERE [StateID] = (SELECT TOP(1) [StateId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])), '') = '' THEN ''
            ELSE (CASE WHEN (SELECT [CountryName] FROM [dbo].[Countries] WHERE [CountryID] = (SELECT TOP(1) [CountryId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) LIKE 'united states%' THEN
            (SELECT [StateAbbr] FROM [dbo].[States] WHERE [StateID] = (SELECT TOP(1) [StateId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) + ' ' ELSE
            (SELECT [StateName] FROM [dbo].[States] WHERE [StateID] = (SELECT TOP(1) [StateId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) + ' ' END) END) + 
            (CASE WHEN  (SELECT TOP(1) [Zip] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]) = '' THEN ', ' ELSE  (SELECT TOP(1) [Zip] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]) + ', ' END) +
            ISNULL((SELECT [CountryName] FROM [dbo].[Countries] WHERE ([CountryID] = (SELECT TOP(1) [CountryId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]))), '') AS [Address],
            
        (SELECT [TYPE] FROM [dbo].[lst_AddressTypes] WHERE [Id] = (SELECT TOP(1) [TypeId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) AS [AddressType],
        
          ((CASE WHEN ISNULL((SELECT TOP(1) [CountryCodeId] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]), '') = ''
            THEN ''
            ELSE 
            '+' + (SELECT PhoneCode FROM [dbo].[Countries] WHERE CountryID = (SELECT TOP(1) [CountryCodeId] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]))
            END) +
            (CASE WHEN ISNULL((SELECT TOP(1) [CityCode] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]), '') = ''
                THEN ''
                ELSE ' (' + (SELECT TOP(1) [CityCode] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]) + ') '
                END) +
            (CASE WHEN ISNULL((SELECT TOP(1) [LocalNumber] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]), '') = ''
                THEN ''
                ELSE (SELECT TOP(1) [LocalNumber] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])
                END) +
            (CASE WHEN ISNULL((SELECT TOP(1) [Extension] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]), '') = ''
                THEN ''
                ELSE ' ex.' + (SELECT TOP(1) [Extension] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])
                END))
        AS [Phone],
        
        (SELECT [PhoneType] FROM [dbo].[lst_PhoneTypes] WHERE [Id] = (SELECT TOP(1) [PhoneTypeId] FROM [dbo].[Phones] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) AS [PhoneType],
        
        (SELECT [Username] FROM [dbo].[Users] WHERE [UserID] = [dbo].[ContactGeneral].[CreatedBy]) AS [CreatedBy],
        (SELECT [Username] FROM [dbo].[Users] WHERE [UserID] = [dbo].[ContactGeneral].[ModifiedBy]) AS [ModifiedBy],
        (SELECT [Classification] FROM [dbo].[lst_Classifications] WHERE [Id] = [dbo].[ContactGeneral].[ClassificationId]) AS [ClassificationId],
        (SELECT [Name] FROM [dbo].[CompanyNames] WHERE [NameID] = (SELECT [LegalNameId] FROM [dbo].[CompanyGeneral] WHERE CompanyID = [dbo].[ContactGeneral].[CompanyID])) AS [CompanyID],
        (SELECT [TYPE] FROM [dbo].[ContactTypes] WHERE [TypeID] = [dbo].[ContactGeneral].[ContactTypeID]) AS [ContactTypeID],
        [dbo].[ContactGeneral].[DateCreated],
        [dbo].[ContactGeneral].[DateModified],
        [dbo].[ContactGeneral].[Emails],
        (SELECT [Name] FROM [dbo].[ContactGender] WHERE [Id] = [dbo].[ContactGeneral].[GenderId]) AS [GenderId],
        [dbo].[ContactGeneral].[IMAddress],
        [dbo].[ContactGeneral].[JobTitle],
        [dbo].[ContactGeneral].[NickName],
        [dbo].[ContactGeneral].[Photo],
        (SELECT [STATUS] FROM [dbo].[ContactStatuses] WHERE [StatusID] = [dbo].[ContactGeneral].[StatusID]) AS [StatusID],
        (SELECT [Name] FROM [dbo].[VoiceTypes] WHERE [ORDER] = [dbo].[ContactGeneral].[VoiceTypeID]) AS [VoiceTypeID],
        [dbo].[ContactGeneral].[WebPage],
        
        --(SELECT [Username] 
       -- FROM [dbo].[Users] 
       -- WHERE [dbo].[Users].ContactId = [dbo].[ContactGeneral].ContactID) AS [UserName],
        
       
        (SELECT [Nation] FROM [dbo].[Nationalities] WHERE [ID] = (SELECT [NationalityID] FROM [dbo].[ContactPersonal] WHERE ContactId = [dbo].[ContactGeneral].ContactID)) AS [Nationalities],
        (SELECT [LanguageName] FROM [dbo].[Languages] WHERE [LanguageID] = (SELECT [NativeLangID] FROM [dbo].[ContactPersonal] WHERE ContactId = [dbo].[ContactGeneral].ContactID)) AS [NativeLanguage],
        
         ISNULL((SELECT [CityName] FROM [dbo].[Cities] WHERE ([CityID] = (SELECT [BirthCityID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID]))) + ', ', '') + 
        (CASE WHEN ISNULL((SELECT [StateName] FROM [dbo].[States] WHERE [StateID] = (SELECT [BirthStateID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID])), '') = '' THEN ''
            ELSE (CASE WHEN (SELECT [CountryName] FROM [dbo].[Countries] WHERE [CountryID] = (SELECT  [BirthCountryID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID])) LIKE 'united states%' THEN
            (SELECT [StateAbbr] FROM [dbo].[States] WHERE [StateID] = (SELECT  [BirthStateID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID])) + ' ' ELSE
            (SELECT [StateName] FROM [dbo].[States] WHERE [StateID] = (SELECT [BirthStateID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID])) + ' ' END) END)  +
            ISNULL((SELECT [CountryName] FROM [dbo].[Countries] WHERE ([CountryID] = (SELECT [BirthCountryID] FROM [dbo].[ContactPersonal] 
        WHERE [ContactID] = [dbo].[ContactGeneral].[ContactID]))), '') AS [BirthLocation]
        
    FROM [dbo].[ContactNames]
    RIGHT JOIN [dbo].[ContactGeneral]
    ON [dbo].[ContactGeneral].ContactID = [dbo].[ContactNames].ContactID AND
    [dbo].[ContactNames].[NameTypeID] = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2012, 21:01
Ответы с готовыми решениями:

Вызов хранимой процедуры
Народ. У меня возникла проблема, может кто порекомендует что-нибудь. Мне надо вызывать одну и туже хранимую процедуру для...

Вызов хранимой процедуры. Ошибка синтаксиса
Код хранимой процедуры: Create Proc Zbilsh_Zar_Platni (@min_kil_god tinyint,@vidsotky tinyint) As Begin if exists (Select , From...

Вызов процедуры из хранимой процедуры
подскажите плз. кто сталкивался по теме. необходима так же передача параметров. За ранее всем благодарен

2
217 / 157 / 30
Регистрация: 11.05.2010
Сообщений: 614
26.09.2012, 11:26
а как-то спростить код нельзя? или вы думаете, что тут всем охота разбираться в ваших 146 строках?
0
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 13
26.09.2012, 12:12  [ТС]
Сори
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CREATE VIEW dbo.PersonInfo WITH SCHEMABINDING
 
AS
 
SELECT
        ...
 
        (SELECT [IsTranslatorReq] FROM [dbo].[ContactPersonal] WHERE ContactId = [dbo].[ContactGeneral].ContactID) AS [TranslatorReq],
 
        (CASE WHEN (SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]) = '' THEN '' 
        
        ELSE (
        
-- ЗДЕСЬ НАДА ВЫЗВАТЬ ХРАНИМУЮ ПРОЦЕДУРУ (GetStreet) и передать ей 
-- ((SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
-- WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])) ??????????
 
        (SELECT TOP(1) [Street] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])
        ) + ', '
        
        END) + ISNULL((SELECT [CityName] FROM [dbo].[Cities] WHERE ([CityID] = (SELECT TOP(1) [CityId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID]))) + ', ', '') + 
        (CASE WHEN ISNULL((SELECT [StateName] FROM [dbo].[States] WHERE [StateID] = (SELECT TOP(1) [StateId] FROM [dbo].[Addresses] 
        WHERE [ContactId] = [dbo].[ContactGeneral].[ContactID])), '') = '' THEN ''
 
           ........
        
    FROM [dbo].[ContactNames]
    RIGHT JOIN [dbo].[ContactGeneral]
    ON [dbo].[ContactGeneral].ContactID = [dbo].[ContactNames].ContactID AND
    [dbo].[ContactNames].[NameTypeID] = (SELECT [TypeID] FROM [dbo].[ContactNameTypes] WHERE ([TYPE] = 'Legal Name'))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2012, 12:12
Помогаю со студенческими работами здесь

Создание хранимой процедуры, которая создает хранимые процедуры
Написать хранимую процедуру SQL , которая будет создавать хранимые процедуры(любые) для БД.

Создание хранимой процедуры
Доброго времени суток, пытаюсь создать хранимую процедуру через запрос вида: CREATE PROCEDURE testBD.dbo.UpdateProc (@OKPO bigint,...

Написание хранимой процедуры
Добрый день !!! Народ помогите написать хранимую процедуру для добавления записей в (detailsview) и автоматический при добавление записи...

Создание хранимой процедуры
Доброго времени суток! Появилась потребность не получать всю таблицу и в коде программы отсеивать ненужное а создать хранимую...

Автозапуск хранимой процедуры
Автозапуск хранимой процедуры средствами windows. Нужно раз в месяц выполнять хранимую процедуру. Как это можно автоматизировать на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru