我该怎么办SELECT * INTO [temp table] FROM [stored procedure]
?不FROM [Table]
,没有定义[temp table]
?
Select
所有数据都可以BusinessLine
正常tmpBusLine
工作.
select *
into tmpBusLine
from BusinessLine
Run Code Online (Sandbox Code Playgroud)
我尝试相同,但使用stored procedure
返回数据,并不完全相同.
select *
into tmpBusLine
from
exec getBusinessLineHistory '16 Mar 2009'
Run Code Online (Sandbox Code Playgroud)
输出消息:
消息156,级别15,状态1,行2关键字'exec'附近的语法不正确.
我已经阅读了几个创建一个与输出存储过程结构相同的临时表的例子,它工作正常,但不提供任何列会很好.
我一直在学习函数和存储过程很长一段时间,但我不知道为什么以及何时应该使用函数或存储过程.他们看起来和我一样,也许是因为我对此有点新手.
有人可以告诉我为什么吗?
我想从我的所有数据库存储过程中搜索文本.我使用下面的SQL:
SELECT DISTINCT
o.name AS Object_Name,
o.type_desc
FROM sys.sql_modules m
INNER JOIN
sys.objects o
ON m.object_id = o.object_id
WHERE m.definition Like '%[ABD]%';
Run Code Online (Sandbox Code Playgroud)
我想[ABD]
在所有存储过程中搜索包括方括号,但它没有给出正确的结果.如何更改查询以实现此目的?
如何在mysql命令行show tables;
或show databases;
命令中查看存储过程或存储函数的列表.
我有一个存储过程返回80列和300行.我想写一个选择,获得其中2列.就像是
SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'
Run Code Online (Sandbox Code Playgroud)
当我使用上面的语法时,我得到错误:
"无效的列名称".
我知道最简单的解决方案是更改存储过程,但我没有写它,我无法改变它.
有什么办法可以做我想要的吗?
我可以创建一个临时表来放置结果,但因为有80列所以我需要制作一个80列的临时表来获得2列.我想避免追踪返回的所有列.
我WITH SprocResults AS ....
按照马克的建议尝试使用,但我遇到了2个错误
关键字"EXEC"附近的语法不正确.
')'附近的语法不正确.
我尝试声明一个表变量,我得到以下错误
插入错误:列名或提供的值数与表定义不匹配
如果我尝试
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
我得到错误:
关键字'exec'附近的语法不正确.
我试图从一个表中选择一些字段并将它们从存储过程插入到现有表中.这是我正在尝试的:
SELECT col1, col2
INTO dbo.TableTwo
FROM dbo.TableOne
WHERE col3 LIKE @search_key
Run Code Online (Sandbox Code Playgroud)
我认为select into是临时表,这就是为什么我得到一个SELECT ... INTO ...
已经存在的错误.
我怎样才能插入多行dbo.TableTwo
成dbo.TableOne
?
我有一个返回行的存储过程:
CREATE PROCEDURE MyProc
AS
BEGIN
SELECT * FROM MyTable
END
Run Code Online (Sandbox Code Playgroud)
我的实际程序有点复杂,这就是为什么有必要使用sproc的原因.
是否可以通过调用此过程来选择输出?
就像是:
SELECT * FROM (EXEC MyProc) AS TEMP
Run Code Online (Sandbox Code Playgroud)
我需要使用SELECT TOP X
,ROW_NUMBER
和一个附加WHERE
子句来分页我的数据,我真的不想将这些值作为参数传递.
我需要在SQL Server 2008中搜索包含数据库字段名称或变量名称的存储过程.
什么是存储过程?他们是如何工作的?什么是存储过程的组成(每个必须是存储过程的东西)?
如何将数组传递给SQL Server存储过程?
例如,我有一份员工清单.我想将此列表用作表,并将其与另一个表连接.但是员工列表应该作为参数从C#传递.