如何在SQL Server 2012中存储可以根据关键字插入的查询?
select * from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME like '%%' order by TABLE_NAME
当我输入 csearch 并按 ctrl + Space 或标签替换 csearch <时,此查询必须插入查询窗口/强>
答案 0 :(得分:0)
您可以在数据库中创建SQL函数和存储过程。可以在需要时调用这些函数。
CREATE FUNCTION CSEARCH
(
-- Add the parameters for the function here
<@Param1, sysname, @p1> <Data_Type_For_Param1, , int>
)
RETURNS <Function_Data_Type, ,int>
AS
BEGIN
-- Declare the return variable here
DECLARE <@ResultVar, sysname, @Result> <Function_Data_Type, ,int>
-- Add the T-SQL statements to compute the return value here
SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1>
-- Return the result of the function
RETURN <@ResultVar, sysname, @Result>
END
GO
在这种情况下,请将SELECT
替换为您的查询并运行此脚本。
它将保存在您的数据库中,可以通过将CREATE FUNCTION
替换为ALTER FUNCTION
来更改。
要调用此函数,请在代码中创建一个简单的SQL连接,然后选择它:
SELECT CSEARCH(param1, param2, ...) AS Function
返回的值将是您在函数内声明的值。
答案 1 :(得分:0)
您可以创建一个过程,然后将其分配给SSMS上的热键。
IF EXISTS(SELECT TOP 1 1 FROM sys.objects WHERE name = 'sp_SelectAllTablesLike')
DROP PROCEDURE sp_SelectAllTablesLike
GO
CREATE PROCEDURE sp_SelectAllTablesLike
@TableName VARCHAR(256)
AS
BEGIN
SELECT * FROM INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME like '%' + @TableName + '%' ORDER BY TABLE_SCHEMA, TABLE_NAME
END
GO
(这里有关于如何将程序添加到SSMS热键的更长解释https://www.sqlshack.com/custom-keyboard-shortcuts-in-sql-server-management-studio-ssms/)
重启SSMS。
然后,每按一次Ctrl + 3(或放置它的任何地方),它将执行该过程。如果您有选择,则会自动将其与输入参数绑定。
缺点是,您需要在使用的任何数据库中创建过程。