Можно ли использовать getDate в качестве имени хранимой процедуры SQL Server? - PullRequest
0 голосов
/ 06 октября 2019

Я рассматриваю десятки планов выполнения запросов к хранимым процедурам SQL Server 2017. Я только что заметил, что одна из хранимых процедур называется «getDate». Процедура «кажется» работает, и в соответствии с этот «getDate» не является зарезервированным ключевым словом, но меня беспокоит потенциальная путаница с функцией GETDATE (). Сейчас у меня не так много времени, чтобы пролистать все потенциально затронутые модули кода, редактируя вызовы этой хранимой процедуры. Это то, что я могу игнорировать сейчас и исправить позже, или это может вызвать проблемы, так что я должен исправить это прямо сейчас? Я не вижу никаких проблем, кроме (предположительно не связанных) супер-медленных запросов - вот почему я пересматриваю планы выполнения. Предполагаемый план выполнения для этой хранимой процедуры getDate выглядит нормально.

1 Ответ

0 голосов
/ 06 октября 2019

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

Но в то же время это не приведет к ошибке. Потому что функция GETDATE является объектом базы данных в SQL Server и поддерживает только SELECT или чтение данных. Мы можем создать хранимую процедуру с тем же именем объектов базы данных. Таким образом, мы можем выполнять DDL-операции с определенными пользователем объектами базы данных.

...