存储过程与直接写sql语句的区别
好郁闷的问题
对uniqueidentifier进行查询,如果写select语句没有问题,如果用存储过程就会
将字符串转换为 uniqueidentifier 时出现语法错误。
如 select * from table1 where oid='4870ce63-e07d-4ff3-8220-bce6a41c9e25'
可以查到东西
如果是写存储过程
CREATE PROCEDURE org_lower
@level_id varchar(50)
AS
select * from T_org_level where level_id = @level_id
GO
level_id='4870ce63-e07d-4ff3-8220-bce6a41c9e25'
就报错,何解?
问题点数:30、回复次数:3Top
1 楼summerICEREDTEA(从基础学起)回复于 2005-07-22 11:51:52 得分 1
try
CREATE PROCEDURE org_lower
@level_id varchar(50)
AS
exec(select * from T_org_level where level_id = @level_id)
GOTop
2 楼summerICEREDTEA(从基础学起)回复于 2005-07-22 11:53:13 得分 1
好象我的是错的
我动态SQL 不了解Top
3 楼ring00(铃子)回复于 2005-07-22 11:54:25 得分 28
调用传参时定义的大小不对吧:)Top




