存储过程是
ALTER proc [dbo].[DisciplineInfo1] @zx varchar(6),@fild varchar(20)=null,@valu varchar(40)=null
as
if @zx='selid'
exec('select * from DisciplineInfo where '+@fild+ '=' +@valu)
调用的时候
execute DisciplineInfo1 "selid","DisciplineName","农学"
显示列名无效,如果把"农学"换成"3" 查询值为3的时候则显示
在将 varchar 值 '农学' 转换成数据类型 int 时失败。
我的 DisciplineName 是varchar(40) 类型的,如果把农学的值改成数字,则都正常显示,为什么在查询的时候非得转换成int型呢?
ALTER proc [dbo].[DisciplineInfo1] @zx varchar(6),@fild varchar(20)=null,@valu varchar(40)=null
as
if @zx='selid'
exec('select * from DisciplineInfo where '+@fild+ '=' +@valu)
调用的时候
execute DisciplineInfo1 "selid","DisciplineName","农学"
显示列名无效,如果把"农学"换成"3" 查询值为3的时候则显示
在将 varchar 值 '农学' 转换成数据类型 int 时失败。
我的 DisciplineName 是varchar(40) 类型的,如果把农学的值改成数字,则都正常显示,为什么在查询的时候非得转换成int型呢?
解决方案 »
- sql 2008: 不知如何表达,就是从2张表中找出最近的各2条记录...
- 全文索引在多表查询时是如何做的?用union all ?
- 如何在查询分析器中一次创建多个视图?
- SQL2005没办法装到WIN2003?
- (穷人的问题) SQL一对多的值比较问题
- 关于linked server的问题
- ***< 超难问题,希望 邹老师给答复 >*** 如何用 SQL存储过程 查询给定的ID的类别 以及它的所有孩子类 !!!!
- 用事务还是触发器,哪个更耗内存?
- 怎样把mssql数据库中的某个表放入sqlite
- 错误21776 我删除master数据库中的表时候发生(null)集合中没有找到,如果该名称是合法名称,则使用[]来分割名称的不同部分,如图 大家帮我看看把
- 创建触发器出现问题,哪位高手帮我看一下,多谢?
- 数据筛选(对不住了,只有25分了)
exec('select * from DisciplineInfo where '+@fild+ '=''' +@valu+'''')