Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, подскажите пожалуйста по работе хранимой процедуры, написал процедуру которая выбирает данные из одной таблицы dbo.SV_FILE (этих данных там сотня), и записывает их в таблицу dbo.test_table USE [SVR_FILES] GO /****** Object: StoredProcedure [dbo].[addtest] Script Date: 04.05.2018 16:46:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[addtest] AS BEGIN declare @sh varchar (10) declare @fio varchar (50) declare @rep_format varchar (10) select @sh=TD_NUMBER, @fio=reporterfio, @rep_format=ReportFormat from dbo.SV_FILE where TD_NUMBER=5127 insert into dbo.test_table values (CURRENT_TIMESTAMP, @sh, @fio, @rep_format) END После отработки процедуры - она записывает только одну строку из dbo.SV_FILE в dbo.test_table при запуске заново процедуры - записывает еще одну строку в dbo.test_table, подскажите пожалуйста, как сделать чтобы за один запуск процедуры записывались все строки из dbo.SV_FILE в dbo.test_table , а не по одной как это делается сейчас? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 16:58 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo, values замените на select, который будет не записывать значения в переменные, а давать выборку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:01 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Изучить синтаксис команды insert into ... select ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:02 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo, почитать внимательнее документацию и понять, что все написанное заменяется одной командой insert... select... без переменных и процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:02 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
через insert .... select я знаю как сделать интересует именно как реализовать через хранимую процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:14 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezoчерез insert .... select я знаю как сделать интересует именно как реализовать через хранимую процедуруВзять и засунуть insert ... select в процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:19 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
написал так: ALTER PROCEDURE [dbo].[addtest] AS BEGIN declare @sh varchar (10) declare @fio varchar (50) declare @rep_format varchar (10) insert into dbo.test_table select REPORT_DATE, TD_NUMBER, reporterfio, ReportFormat from dbo.SVR_FILE where TD_NUMBER=5127 END после запуска процедуры было написано - команда выполнена успешно, однако в таблицу dbo.test_table ничего не записалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:31 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezoпосле запуска процедуры было написано - команда выполнена успешно, однако в таблицу dbo.test_table ничего не записалосьА есть хоть одна причина, почему в таблицу dbo.test_table должно было что-то записаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:32 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
>>>А есть хоть одна причина, почему в таблицу dbo.test_table должно было что-то записаться? за этим и написал на форуме, подскажите, что не так, почему не записывается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:40 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo>>>А есть хоть одна причина, почему в таблицу dbo.test_table должно было что-то записаться? за этим и написал на форуме, подскажите, что не так, почему не записывается?Может потому, что записываться нечему? Вы свой Код: sql 1. хотя бы пробовали выполнять? Если да, то кс каким результатом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:45 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo>>>А есть хоть одна причина, почему в таблицу dbo.test_table должно было что-то записаться? за этим и написал на форуме, подскажите, что не так, почему не записывается?"Я открыл холодильник, а там нет еды. Подскажите мне, что не так и почему ее там нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:45 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Sergey Sizovmartinezo>>>А есть хоть одна причина, почему в таблицу dbo.test_table должно было что-то записаться? за этим и написал на форуме, подскажите, что не так, почему не записывается?Может потому, что записываться нечему? Вы свой Код: sql 1. хотя бы пробовали выполнять? Если да, то кс каким результатом? да выходит 35 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:49 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Покажите код вызова процедуры. Покажите план выполнения процедуры. Покажите код проверки таблицы dbo.test_table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:51 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezoнаписал так: ALTER PROCEDURE [dbo].[addtest] AS BEGIN declare @sh varchar (10) declare @fio varchar (50) declare @rep_format varchar (10) insert into dbo.test_table select REPORT_DATE, TD_NUMBER, reporterfio, ReportFormat from dbo.SVR_FILE where TD_NUMBER=5127 END после запуска процедуры было написано - команда выполнена успешно, однако в таблицу dbo.test_table ничего не записалосьВ INSERTе всегда пишите в скобках список полей, в которые вставляете. Это практически закон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:51 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Да! И выбросьте из процедуры все переменные. Зачем они? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:52 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
iapmartinezoнаписал так: ALTER PROCEDURE [dbo].[addtest] AS BEGIN declare @sh varchar (10) declare @fio varchar (50) declare @rep_format varchar (10) insert into dbo.test_table select REPORT_DATE, TD_NUMBER, reporterfio, ReportFormat from dbo.SVR_FILE where TD_NUMBER=5127 END после запуска процедуры было написано - команда выполнена успешно, однако в таблицу dbo.test_table ничего не записалосьВ INSERTе всегда пишите в скобках список полей, в которые вставляете. Это практически закон. написал так: USE [SVR_FILES] GO /****** Object: StoredProcedure [dbo].[addtest] Script Date: 04.05.2018 16:46:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[addtest] AS BEGIN insert into dbo.test_table (dbo.test_table.dt, dbo.test_table.shop, dbo.test_table.shop_name, dbo.test_table.result) select REPORT_DATE, TD_NUMBER, reporterfio, ReportFormat from dbo.SVR_FILE END процедура снова ничего не вставила, хотя просто через запрос insert into dbo.test_table (dbo.test_table.dt, dbo.test_table.shop, dbo.test_table.shop_name, dbo.test_table.result) select REPORT_DATE, TD_NUMBER, reporterfio, ReportFormat from dbo.SVR_FILE было вставлено 35 строк, что не нравится процедуре - не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:02 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo, Надо так: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:29 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
iapmartinezo, Надо так: Код: sql 1. 2. 3. написал так: USE [SVR_FILES] GO /****** Object: StoredProcedure [dbo].[addtest] Script Date: 04.05.2018 16:46:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[addtest] AS BEGIN INSERT dbo.test_table(dt,shop,shop_name,result) SELECT REPORT_DATE,TD_NUMBER,reporterfio,ReportFormat FROM dbo.SVR_FILE; END вышло это Command(s) completed successfully. но ничего не добавилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:37 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezoно ничего не добавилосьЯсен пень. Чтобы добавилось, процедуру надо запустить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:39 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezo, После ALTER PROCEDURE [dbo].[addtest] ...как будто здесь был текст этой процедуры.... нужно сделать EXEC [dbo].[addtest]. И все будет хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:55 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевичmartinezoно ничего не добавилосьЯсен пень. Чтобы добавилось, процедуру надо запустить. ))) Спасибо - получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 18:56 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
iapmartinezo, Надо так: Код: sql 1. 2. 3. Подскажите, пожалуйста, обязательно ли надо было ставить "; " после запроса? и если несколько запросов идут в процедуре по очереди, их тоже надо разделять точкой с запятой? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 19:02 |
|
||
|
вызов процедуры для записи строк из одной таблицы в другую
|
|||
|---|---|---|---|
|
#18+
martinezoiapmartinezo, Надо так: Код: sql 1. 2. 3. Подскажите, пожалуйста, обязательно ли надо было ставить "; " после запроса? и если несколько запросов идут в процедуре по очереди, их тоже надо разделять точкой с запятой? СпасибоПока обязательно только в некоторых случаях. Но обещают сделать обязательным в следующих версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 19:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39640304&tid=1689794]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 423ms |

| 0 / 0 |
