sqlserver 存储过程返回结果集问题

awer537 2011-10-25 10:39:04
我创建的存储过程(测试版):

create PROCEDURE PROC_Getztdb
@p_code varchar(10)
AS
BEGIN
SELECT * FROM T_INFO_PSBASEINFO t
WHERE t.pscode=@p_code
END
go

调用调试:
declare @p_code varchar(10)
set @p_code='410100001789'
exec PROC_Getztdb @p_code

----
换回空结果表,
但是直接执行下面的查询语句,确实有数据
SELECT * FROM T_INFO_PSBASEINFO t
WHERE t.pscode='410100001789'


请问,问题出在哪里?求解。
我经常在oracle中 用函数返回游标 实现查询 返回结果集

sqlserver 的存储过程 返回结果集 不太精通。请高人指点
...全文
385 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
awer537 2011-10-25
  • 打赏
  • 举报
回复
哈哈,多谢提醒。不好意,犯个低级错误,真是“老人犯新错误”
存储过程:
create PROCEDURE PROC_Getztdbl
@p_time VARCHAR(10)
AS
BEGIN
...
DAL
SqlParameter[] parameter = {
new SqlParameter("@p_time",SqlDbType.VarChar,20)
// new SqlParameter("@db",SqlDbType.d,20)
};

所以查不出结果。。。
awer537 2011-10-25
  • 打赏
  • 举报
回复
知道了,就是范了低级错误 声明时 还是声明的 varchar(10)。现在可以查出来的
中国风 2011-10-25
  • 打赏
  • 举报
回复
不加長度 預設長度便是 30。
不建議這樣用,必須加上
中国风 2011-10-25
  • 打赏
  • 举报
回复
@p_code varchar 没带长度 就不行,这是为什么呢?

必面加上

declare @p_code varchar(20)--這里要改改
set @p_code='410100001789'
exec PROC_Getztdb @p_code
awer537 2011-10-25
  • 打赏
  • 举报
回复
改成varchar(20) 还是不行 我原来写的 @p_code varchar 没带长度 就不行,这是为什么呢?
问题到底在哪?语句很简单 就是一直找不到问题在哪,有可能问题很简单,自己忽略哪一点?还是 语法有问题?
中国风 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]

SQL code
create PROCEDURE PROC_Getztdb
@p_code varchar(20) --- 长度不够
AS
BEGIN
SELECT * FROM T_INFO_PSBASEINFO t
WHERE t.pscode=@p_code
END
go
declare @p_code varchar(20)
set @p_code='410100001789'……
[/Quote]

返回結果集,需要傳參是用XML
@p_code varchar(50)--改為

declare @p_code varchar(20)
set @p_code='410100001789'
SELECT LEN(@p_code)--12字符
快溜 2011-10-25
  • 打赏
  • 举报
回复
declare @p_code varchar(10)--改为varchar(12)
--小F-- 2011-10-25
  • 打赏
  • 举报
回复
create PROCEDURE PROC_Getztdb
@p_code varchar(20) --- 长度不够
AS
BEGIN
SELECT * FROM T_INFO_PSBASEINFO t
WHERE t.pscode=@p_code
END
go
declare @p_code varchar(20)
set @p_code='410100001789'
exec PROC_Getztdb @p_code

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧