我正在使用SQL Server2008。我有一个数据库Training
,其中包含两种类型的存储过程,其名称以SP_V400_
和开头spV400_
。现在,我需要删除名称为prefix的存储过程spV400_
。
我试过这个命令
SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_id) + '].[' + p.NAME + '] GO'
FROM sys.procedures p
WHERE p.name LIKE '%spV400%'
ORDER BY p.name
但我收到一个错误:
消息102,级别15,状态1,第1行
'GO'附近的语法不正确。
您最终不需要GO。
试试这个:
SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_id) + '].[' + p.NAME + ']'
FROM sys.procedures p WHERE p.name like 'spV400%'
ORDER BY p.name
当然,这将为您提供输出中的SQL命令列表,您可以将其复制并粘贴到SSMS中并运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句