存储过程包含字符串
A. 关于存储过程的引号,头晕了
这个引号 主要是看你的参数具体的值
你上面所举的例子,在我看来可能是你理解错了,注意你的引号到底是加上什么位置
你这里的语句补全后,大致应该是这样的:
'xxxxx' + @N + 'zzzzz'
假设@N = 'yyyyy' 时,拼接后就是 xxxxxyyyyyzzzzz
3引号的情况:
'''xxxxx''' + @N + '''zzzzz'''
仍然让@N = 'yyyyy',拼接后就是 'xxxxx'yyyyy'zzzzz'
1个引号时,就是表示所辖内容为字符串
3个引号时,第一个表示字符串前引号,第二个是转义字符,第三个表示引号(字符内容)
B. 关于存储过程中执行字符串
alter
proc
[dbo].[fun_query_pm]
@ii_pm_name
varchar(20)
as
begin
declare
@where
varchar(20)
begin
set
@where
=
'missaka'
set
@where
=
@where
+
@ii_pm_name
print
@where
print
@ii_pm_name
end
end
exec
p_test
'10011'
你把char换成varchar就可以显示了,这主要是char是固定长度,当set
@where='misaka'时,
实际上@where中的字节段已经填满,后面空的被空格字符填满,所以当你再进行连接的时候就没位置连了,
当然不能连接了。用varchar就不会了
C. 如何查询存储过程中含有指定字符串的过程的相关推荐
啥数据库,,,,
知道sqlserver可以这样查询
selectobj.name存储过程名,sc.text过程内容
fromsyscommentssc
innerjoinsysobjectsobjonsc.id=obj.id
wheresc.textlike'%字段名(这里你看着写了,,是你说的字符串还是字段名还是过程函数名都可以)%'
D. sql存储过程 字符串包含子字符串
400千克
E. Oracle 查询搜索字符串在哪些存储过程中包含
如下:
select *
from all_source
where OWNER = 'LC0019999'
and TEXT like '%insert into%d values(%'
F. Oracle中怎样用存储过程将一段字符串以逗号为界截取,并将得到的子串存到另一张表中
G. oracle中用存储过程加密一段字符串有哪些方法
可以例用Oracle 自带的Wrap工具实现,此工具在$ORACLE_HOME/BIN目录下,具体如下
1、设置字符集环境变量
set NLS_LANG=CHINESE_CHINA.ZHS16GBK
2、创建一个存储过程文件
在E:\下创建test.sql文件,内容如下:
create or replace procere test1(i in number) as
begin
dbms_output.put_line(' 输入参数是'||to_char(i));
end;
3、加密
c:\> cd %ORACLE_HOME%\BIN
c:\>wrap iname=e:\test1.sql
PL/SQL Wrapper: Release 8.1.7.0.0 - Proction on Tue Nov 27 22:26:48 2001
Copyright (c) Oracle Corporation 1993, 2000.All Rights Reserved.
Processing test1.sql to test1.plb
4、运行test1.plb
sqlplus /nolog
SQL>conn TEST/TEST@db01
SQL> @e:\a.plb
过程已创建。
5、运行存储过程
SQL> set serveroutput on
SQL> execute test1(1);
输入参数是1
PL/SQL 过程已成功完成。
6、查看存储过程的代码
SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
H. sqlserver快速查找所有存储过程中是否包含某
在sql server中快速查看存储过程中的内容是否包含特殊的字符,如下所示:
mssql-查找存储过程包含的字符串
主要根据两张系统表,查找出存储过程中的内容
请采纳,如有疑问,及时沟通!
I. sql查询数据库中哪些存储过程包含指定字符串
selectb.name,a.text
fromdbo.syscommentsaleftjoindbo.sysobjectsb
ona.id=b.idwhereb.xtype='p'anda.textlike'%存储过程内容%';
请采用以上sql脚本
J. 如何查询所有数据库中包含某一字符串的存储过程。是所有数据库,不是当前数据库。
假定你是要查询同一服务器上同一实例上的若干数据库,基本思路就是先找到当前实例上的所有数据库集合,然后再根据这些数据库集合去获取每个集合对应的存储过程集合。因为你这边未提供具体数据库语言,这里已MSSQL为例,具体实现过程如下(假定你需要搜索字符串为【数据库】):
declare@sqlnvarchar(2000)
declare@dbnamevarchar(20)
declare@pnamevarchar(100)
createtable#tmptb(dbnamevarchar(20),pnamevarchar(100))
declaremycurcursorfor
selectnamefrommaster.dbo.sysdatabaseswheredbid>4
openmycur
fetchnextfrommycurinto@dbname
while@@FETCH_STATUS=0
begin
set@sql='selectdistinct'''+@dbname+'''asdbname,a.nameasprocnamefrom'+@dbname+'.dbo.sysobjectsainnerjoin'+@dbname+'.dbo.syscommentsbONa.id=b.idwherea.xtype=''P''andb.[text]LIKE''%数据库%''orderbya.name'
insertinto#tmptb(dbname,pname)exec(@sql)
fetchnextfrommycurinto@dbname
end
closemycur
deallocatemycur
select*from#tmptb
droptable#tmptb
go
当然,具体应用时你可以创建一个存储过程,存储过程定义一个入参【待匹配字符串】,如果有需要的话也可以定义一个出参【查找到的集合】,以实际需要灵活调整就可以了。