如何让传入的参数作为sql语言入门教程句条件中的参数

普通传参 例如:select * from emp as e where e.name = $P{param}
但是我想把sql语句的某个片段做为参数传入,应该要怎么做呢?
很简单,用$P!{param}就可以替换sql的任何部分。如下:
$P!{param} = where e.name = 'aa';
select * from emp as e $P!{param};
浏览: 49348 次
来自: 杭州
我参数使用一直搞不明白,后来实在用不了ireport就换帆软报 ...
这个在java里面怎么些啊。。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'问:关于导入SQL数据库我想恢复大容量的数据库,使用了MSQL数据库综合管理工具,但是我点击“登录”...答:、备份位置在SQL Server上,有多种备份位置可以选择,如本地磁盘,网络磁盘,远程,磁带等。各种备份位置均有自己的优点和缺点。、逻辑备份设备在SQL...
问:大侠,请教SQL内嵌表值函数中默认参数赋值问题,这样为什么... create function fun(#res varchar()=default'')returns table as...答:create function fun(#res varchar()='')returns table as return(select*from Score_TAB where NUM=res)
问:SQL中存储过程如果有两个参数,如何接收这两个返回值?...说输入学号查成绩,有数学成绩有语绩两个返回值,但我在VB中只能用到...答:存储过程的参数有三类:输入参数、输出参数和输入输出参数,具体是什么参数,看看你的存贮过程试怎么定义输入参数是不会有返回的,只有后面两个才会有返回
问:delphi用SQL语句入数据,在给参数赋值时出错,没有异常就... function insertPerson(personData:TReceived):Bbegin try with...答:Add(')value(');这句有错 Values前后应有空格,而且英文错误少了个s Add(')Values(')
问:hibernate根据sql我们的项目比较老用的是hibernate.x;语句我想使用原生SQL来(因为要查...答:简单的问题你就对你自己的表建立BO就行了有源码,你什么都能干城
问:sql server中如何为一个不确定的变量赋值:declare#L int,#L int,#L int,#L int,#L int,。我想根据参数只一次...答:需要在动态语句内部定义该变量,而且这个变量不能再其他地方调用的;这是因为SQL在执态语句时,是临时生成执行计划的 declare#c int set#c= while#c('...
问:sql语句出错,参数不足,期待是我的语句是这样的,表名和字段名都没有错,其中user字段是文本型,是不是要给+号...答:sSql="SELECT*FROM swap where user='"+user+"' ORDER BY id DESC
问:sql存储过程输入参数能直接用函数赋值吗 ALTER PROCEDURE[dbo].[prcu_QSToGB]#QSID uniqueidentifier=dbo.R_AdtRule_...答:不能直接用函数赋值 ALTER PROCEDURE[dbo].[prcu_QSToGB]#QSID uniqueidentifier=‘’,#Map nvarchar()='A' BEGIN set#QSID=dbo.R_AdtRule_Catalogid_()end
问:SQL语句问题("esfang_fl")qz=Request.QueryString("esfang_qz")fxs=Request.QueryString(...答:你可以定义CString类型sql语句,然后逐渐赋值,常量直接赋值,变量转换成字符串直接加上就可以,如:CStringsql="select*from huiyuan_esfang where esfang_fl=...
问:ASP.的两种对sql语句参数赋值的方式有什么不同?实例化Connection对象 SqlConnection connection=new SqlConnection("server=...答:似乎刚才有一个差不多的问题?我强烈建议你使用第二种,虽然稍微麻烦一点,但是避免了隐式转换,在大数据量的情况下,效率差距非常明显.
问:sql server语句实现在数据库填入的问题,请教高手,...数据表名:person,数量不定(如图所示),字段No(序号)初始值为:,...答:其实这个问题是字段的唯一序号问题,也就是你需要一个自动的序号字段,在sqlserver中有这样的类型IDENTITY(,)第一个参数是初始值,第二个参数是递增值,这样...
问:如何在程序中给GridView绑定的SQL语句参数赋值我用的GridView绑定的这个自定义语句,select score from student where group_...答:设定改语句对应的mand的参数 System.Data.SqlClient.Sqlmand cmd=new System.Data.SqlClient.Sqlmand("select score from student where group_id=id")...
问:如何在Sql server结果中入一个自己赋值的列 select Name from T_Users结果如下:a b c现在我想实现在上面结果的基础上出入...答:没怎么看懂你得问题,就按我的理解给你回答哈:可以在原表T_Users中的NAME列下的a b c每个后加“空格”变成 a b c再次执行SELECT便能出来你要的结果
问:SQL Server带参数的语句,怎样用ja给参数赋值 Stringsql="select*from mytable where username=username and password=...答:string v_name='sa';名 string v_pass='sa';Stringsql="select*from mytable where username='"+v_name+"'and password='"+v_pass"';传值的时候...
09-0909-0808-2907-07
10-2902-2001-2404-14
◇本站云标签oracle 存储过程sql中in 参数怎么传入调试 - ITeye问答
create or replace procedure Z_TESTIN(v_names varchar2) is
begin
&&
&&& for my_cursor in (
&&&&& select t.id,t.name from z_user t where t.name in (v_names)
&&& ) loop
&&&&& dbms_output.put_line(my_cursor.name);
&&&
end Z_TESTIN;
1.成功------------
SQL& exec z_testin('小A');
PL/SQL procedure successfully completed
2.失败----------
SQL& exec z_testin('小A','小B');
begin z_testin('小A','小B');
ORA-06550: line 2, column 7:
PLS-00306: wrong number or types of arguments in call to 'Z_TESTIN'
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
3.没出数据--------
SQL& exec z_testin('小A,小B');
PL/SQL procedure successfully completed
求正确的调试方式
改成动态sql就好了.
'select t.id,t.name from z_user t where t.name in ('''||v_names||''')'
然后exec z_testin('小A,小B');
已解决问题
未解决问题Sql Server 存储过程,怎样把传入的字符串作为where条件_百度知道
Sql Server 存储过程,怎样把传入的字符串作为where条件
SqlServer存储过程,怎样把传入的字符串作为where条件?字符串传什么样,where后就是什么样。如下:ALTERPROCEDURE[dbo].[Standard_GetBySomeCCS]@strVARCHAR(100)ASBEGINSELECTId,Fo...
Sql Server 存储过程,怎样把传入的字符串作为where条件?字符串传什么样,where后就是什么样。如下:ALTER PROCEDURE [dbo].[Standard_GetBySomeCCS] @str VARCHAR(100)ASBEGINSELECT
ApplyArea,
PageCount,
CCSFROM StandardWHERE
XXXXXXXXXXXXXXXXXXX就是where后面怎么写?我在代码里调这个存储过程的时候,会把str传进来,我想让这个str整体作为where的查询条件,请问怎么写?在线等。。。。例子就是比如我会传一个 str
= &CCS = 'C15' OR CCS = 'C12' OR CCS = 'C13' &我想让这整个str作为查询条件。而且我的str每次传的还不一样,是动态的。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:57
获赞数:78
需要使用动态语句例如: DECLARE @参数
VARCHAR(1000)SET @参数='ID=1'PRINT 'select * from 表
where '+@参数EXEC('select * from 表
where '+@参数)
来自电脑网络类芝麻团
采纳数:2722
获赞数:5538
参与团队:
declare @sql nvarchar(max)set @sql='select .... where '+@strexec(@sql)
本回答被提问者和网友采纳
yoyo_yangdongl
yoyo_yangdongl
采纳数:133
获赞数:207
ALTER PROCEDURE [dbo].[Standard_GetBySomeCCS] @str VARCHAR(100)ASBEGIN DECLARE @CCs_SQL NVARCHAR(1000)='';
IF @参数&&'' AND @参数 IS NOT NULL
SET @TIMESPAN_SQL='
( 1&&1 ';
SELECT @CCs_SQL=@CCs_SQL+' OR '+@参数
SET @CCs_SQL=@CCs_SQL+') ';exec('SELECT
ApplyArea,
PageCount,
CCSFROM StandardWHERE
'+@CCs_SQL+''
dong_1984dd
dong_1984dd
采纳数:259
获赞数:3285
SQL&拼接字符串把传入的字符串参数 作为where 后面的条件如下列SQL:&&&&& create&PROCEDURE&[dbo].[Test]&&&&& @T&nvarchar(50)=''--传入字符串参数&&&& AS&& &&BEGIN&&&&&&& declare&@SQL&nvarchar(max)&&&& &&--char(10)换行符&&&&&& &set&@SQL='select&*&from&table&'+Char(10)&&&&& &&set&@SQL=@SQL+'&where&a='''+@T+''''&&&&&& &Print&@SQL&&&&& &&--结果如下,假如转入参考为abc&&&&&& &--select&*&form&table&&&&& &&--where&a='abc'&&&&& &&--下面是执行拼接SQL&&&&&&& &exec&(@SQL)&&&&& &&return&0&&& &end
其他1条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。SQL Server怎么将表名作为参数传递实现条件查询?_百度知道
SQL Server怎么将表名作为参数传递实现条件查询?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
IT类认证行家
采纳数:16264
获赞数:8494
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。
这个是不支持的。如果你的表名,要做为参数的话,那你只能拼字符串,然后 exec 当成一个字符串来执行。
拼接字符串怎么将条件加上去
set @sql=N'select * from ' +@tablename+ ''exec sp_executesql @sql
这样条件加到后面会报错啊
DECLARE @tablename NVARCHAR(100)SET @tablename ='PlanBill' --表名,自己改DECLARE @sql NVARCHAR(1000)SET @sql='SELECT * FROM '+@tablenameEXEC sp_executesql
这个条件加到后面也会报错啊
我都测试过了,怎以会有错呢。你什么数据库啊。
那你加条件后是怎么写的
整个语句不都给你了吗。SET @tablename ='PlanBill' --表名,自己改
这个查询的是整个表的内容啊,我还要在后面加条件,即WHERE linename = @variable
SET @sql='SELECT * FROM '+@tablename +' where ......'自己可以拼啊
set @sql=N'select * from ' +@tablename+ 'WHERE linename = '+@var+''exec sp_executesql @sql
是这样吗,我刚测试过,它报错啊
DECLARE @tablename NVARCHAR(100)SET @tablename ='PlanBill'DECLARE @sql NVARCHAR(1000)SET @sql='SELECT * FROM '+@tablename +' where planNO=@planno'EXEC sp_executesql& @sql ,N'@planno nvarchar(50)', N'test'
哦,是这样的,谢谢了
来自电脑网络类芝麻团
采纳数:85
获赞数:95
擅长:暂未定制
参与团队:
declare @tablename varchar(20)declare @sql nvarchar(2000)set @tablename='users'set @sql=N'select * from ' +@tablename+ ''exec sp_executesql @sql
这个我知道,我还要实现条件查询,这个将条件加到后面会报错
你咋加的条件
就加WHERE...啊
set @sql=N'select * from ' +@tablename+ 'WHWER linename = '+@var+''exec sp_executesql @sql
你那where 也不对啊,
你报错是不是因为你动态sql没定义啊
那要怎么写
动态sql变量时,要用nvarchar类型 不是 WHWER
哦,这个啊,我字打错了而已,在SQL Server中我是打的where
问题不在你打错没打错
在于你定义的sql变量是不是nvarchar类型
是NVARCHAR啊
你就不能把代码贴出来么?
与人方便于己方便
手机打字太慢,发个截图吧
你这错误消息第27行 第20行 在哪呢? 不是6行么?
我不是专业用sql sever的 没懂。
不过你set @sql=N'select * from ' +@tablename+ ''这句是不是多了什么符号啊
那个前面还有几行,我只运行了这几行
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 sql语言入门教程 的文章

 

随机推荐