Результаты поиска по запросу "stored-procedures"

3 ответа

Ну, я думаю, что SqLCommand работает, чтобы помочь предотвратить внедрение SQL, когда параметры хранимой процедуры строго типизированы и не могут содержать запрос самостоятельно. Не так с динамическим SQL.

ользую хранимые процедуры. Чтобы сэкономить время, я сделал несколько общих процедур, использующих динамический порядок sqlin для обновления. Такая общая процедура: CREATE PROCEDURE [dbo].[SetField] @company_id uniqueidentifier, @id ...

0 ответов

на самом деле они не хранятся в этих таблицах. Это просто представления, обеспечивающие (примерно) совместимый со стандартами способ поиска информации, которая хранится в MySQL, где это удобно для их реализации.

и процедурные коды (хранимые процедуры, функции, представления и триггеры) хранятся на базе данных или на сервере системы управления базами данных после их создания независимо от того, как они создаются (например, вводя свои определения в ...

2 ответа

sp_MSforeachdb: включать только результаты из баз данных с результатами

Я запускаю ниже хранимую процедуруsp_MSforeachdb с простой командой. Мой вопрос заключается в том, как ограничить результат отображением только тех баз данных, которые имеют хотя бы 1 запись, удовлетворяющую команде: Вот моя хранимая ...

ТОП публикаций

1 ответ

Параметр № 2 не является параметром OUT

String sqlString = "{CALL MyStoredProcedure(?,?)}"; CallableStatement sqlStm = connection.prepareCall(sqlString); sqlStm.setString(1, username); sqlStm.registerOutParameter(2, Types.DECIMAL, 0); // <---- ERROR sqlStm.execute();Это моя ошибка ...

3 ответа

Важно отметить, что вам нужно будет выполнить команду REVERT после запроса, поскольку SQL Server будет рассматривать вас как пользователя, которого вы выполняете, пока вы не отключите соединение или не откроете олицетворение. Тем не менее, вы должны точно знать, что получит пользователь (получить несколько строк, но не все? Это должно вам помочь).

роверить, может ли пользователь выполнить хранимую процедуру на сервере MS SQL? Я могу видеть, имеет ли пользователь явные разрешения на выполнение, подключившись к базе данных master и выполнив: databasename..sp_helpprotect ...

5 ответов

Позже попытались получить некоторые из связанных данных (данные отношения один ко многим, например, содержимое публикации), и блог вернулся с заполненным содержимым сообщения, как было обнаружено.

трел несколько презентаций EF Code First и не видел, как EFCF работает с хранимыми процедурами. Как я могу объявить метод, который будет использовать некоторые sp? Могу ли я передать сущность методу, который вызывает sp, без сопоставления ...

17 ответов

Мое эмпирическое правило (как только я понял, что это было, подумав о вопросе), заключается в том, что хранимые процедуры должны содержать код, который обеспечивает целостность данных в базе данных, запрещает ли хранимая процедура определенную вставку, удаление или изменение данных, или делает другие изменения необходимыми для согласованности данных. Бизнес-логика, особенно логика, которая не может быть реализована в нескольких операциях на основе множеств, должна быть реализована в другом месте. Базы данных не являются приложениями. Базы данных должны быть окончательным авторитетом для отношений и ограничений, даже если бизнес-правила также реализованы где-то еще, например, для обеспечения обратной связи в коде пользовательского интерфейса, который уменьшает обратные передачи с веб-сервера или устраняет ненужные попадания на занятый сервер. Можно спорить о том, включает ли «согласованность данных» результат сложной обработки сложных бизнес-правил, но я думаю, что обычно это становится понятным после понимания контекста. Не все бизнес-правила реализованы в виде отношений или ограничений данных. Не все операции в хранимой процедуре выполняются быстрее, чем код, выполняемый в отдельном процессе, даже в процессе, запущенном на отдельной машине в сети. Недавно я провел демонстрацию, показывающую, что многие операции в SSIS, например, (INSERT INTO () SELECT FROM), выполняются быстрее в SSIS, работающем по сети на отдельном компьютере, чем в хранимой процедуре (которая также вставляет результаты в базу данных). через сеть). Это почти невероятный результат (где SSIS работает быстрее, чем необработанные операторы SQL), и демонстрирует, что обнаружение наилучшей оптимизации любых проблем производительности происходит из реальности (тестирование), а не из логики, основанной только на нескольких концепциях. (Мы все еще должны принять решение о том, что тестировать, исходя из практического опыта.) (SSIS быстрее выполнялся за счет автоматической реализации многопоточности и конвейеров, использования BULK INSERT даже там, где это не было указано в необработанном операторе SQL, и отправки пакетов вставок в одном потоке при создании дополнительных BULK INSERT в других потоках. В этом случае он выполнялся примерно в два раза быстрее, чем необработанные операторы SQL.) Когда я использовал для обучения программированию и курсам SQL Server, пользователи PowerBuilder, казалось, имели выражение «Native» Драйверы обеспечивают самый быстрый доступ к данным, «прожженный на их языке», и, хотя это может быть оправдано дополнительными (не признаваемыми ими) объяснениями, мысль об этом вводит в заблуждение.

ы аргументы за и против бизнес-логики в хранимых процедурах?

2 ответа

, Он прекрасно работает и может быть использован повторно.

тоящее время у меня есть следующий именованный запрос, который оборачивает хранимую процедуру: <hibernate-mapping> <sql-query name="mySp"> <return-scalar column="name_first" type="string" /> <return-scalar column="name_last" type="string" /> { ...

7 ответов

Есть ли способ заставить SQL-сервер проверять ссылки на объекты в хранимых процессах?

Следующий код прекрасно работает в SQL Server create proc IamBrokenAndDontKnowIt as select * from tablewhichdoesnotexist Конечно, если я попытаюсь запустить его, он потерпит неудачу с Неверное имя объекта 'tablewhichdoesnotexist'. Есть ли ...

1 ответ

Похоже, это может сработать, и я ожидаю попробовать это на этой неделе. Насколько я понимаю, это решение не будет атомарным, поскольку оно будет создавать новые документы в коллекции, даже если общее число еще не достигнуто. В моих первых тестах 1200 документов были поставлены в очередь на вход, но 0 были зафиксированы, но я не думал продолжать повторную отправку функции снова и снова. Я отправлю обратно, как только попробую.

у загрузить файл CSV, содержащий 10 тыс. Документов, которые будут добавлены в мою коллекцию Cosmos DB быстрым и атомарным способом. У меня есть хранимая процедура, как следующий псевдокод: function createDocsFromCSV(csv_text) { function ...