CREATE PROCEDURE p1 
@type varchar(11) 
AS 
SELECT au_id,address,pub_id,pub_name 
FROM publishers,authors 
WHERE publishers.city=authors.city 
AND au_id LIKE @type 
GO 
declare @m id 
set @m='2%' 
exec p1 @m 这个id是什么意思,他是数据类型吗啊

解决方案 »

  1.   

    declare @m id 
    set @m='2%' 
    exec p1 @m ----------------------------
    LZ这样执行不会报错吗?我肯定是错误的写法,根据你上面的存储过程你应该这样写declare @m varchar(11)  
    set @m='2%' 
    exec p1 @m 
    还想问问,难道真的不会报错吗???
      

  2.   

    用select * from systypes where name='id' 或者sp_help 'id' 看一下
      

  3.   

    chuifengde(树上的鸟儿)
    ----------------------------------
    有道理,我怎么没想到自定义类型?
      

  4.   

    我在SQLserver 里试过很多次了,,没有错啊,,改成
    declare @m varchar(11)  
    set @m='2%' 
    exec p1 @m 
    也是对的。
    如果是自定义那它在哪里定义呢!!!
      

  5.   

    恩。谢谢啊。用select * from systypes where name='id'查到了
    那systypes这个表是什么表?? 专门存放自定义类型的吗?它放在哪里?