SQL,PL-SQL和T-SQL有什么区别?
任何人都可以解释这三者之间的差异,并提供相关使用的方案吗?
在SQL中(遗憾的是)LIKE由于数据库违反了几乎所有规范化规则,因此经常不得不使用" "条件.我现在无法改变它.但这与这个问题无关.
此外,我经常使用条件,例如WHERE something in (1,1,2,3,5,8,13,21)更好的可读性和SQL语句的灵活性.
在没有编写复杂的子选择的情况下,有没有可能将这两种方法结合起来?
我想要一些简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是这样的东西:
WHERE something LIKE 'bla%'
OR something LIKE '%foo%'
OR something LIKE 'batz%'
Run Code Online (Sandbox Code Playgroud)
我在这里使用SQl Server和Oracle,但我很感兴趣,如果在任何RDBMS中都可以这样做.
Oracle SQL中的字符串连接运算符是什么?
我应该注意哪些"有趣"功能?
(这似乎很明显,但我找不到先前提出的问题).
我有一个PL/SQL函数(在Oracle 10g上运行),我在其中更新了一些行.有没有办法找出UPDATE影响了多少行?当手动执行查询时,它会告诉我有多少行受到影响,我想在PL/SQL中获取该数字.
我见过很多关于以下内容的查询.
Select 1
From table
Run Code Online (Sandbox Code Playgroud)
这是什么1意思,它将如何执行,它将返回什么?
此外,在什么类型的场景中,可以使用它吗?
我想创建一个可以在我的PL/SQL代码中使用的内存数组变量.我在Oracle PL/SQL中找不到任何使用纯内存的集合,它们似乎都与表相关联.我想在我的PL/SQL(C#语法)中做类似的事情:
string[] arrayvalues = new string[3] {"Matt", "Joanne", "Robert"};
Run Code Online (Sandbox Code Playgroud)
编辑: Oracle:9i
是否有可能在每个表的每个字段中搜索Oracle中的特定值?
在一些表中有数百个表有数千行,所以我知道这可能需要很长时间才能查询.但我唯一知道的是我想要查询的字段的值是1/22/2008P09RR8.<
我已经尝试使用下面的这个语句根据我认为应该命名的内容找到一个合适的列,但它没有返回任何结果.
SELECT * from dba_objects
WHERE object_name like '%DTN%'
Run Code Online (Sandbox Code Playgroud)
这个数据库绝对没有文档,我不知道该字段的来源.
有什么想法吗?
在SQL Server中,我们可以键入IsNull()以确定字段是否为空.PL/SQL中是否有等效的功能?
在Oracle PL/SQL中,如何在字符串中转义单引号?我试过这种方式,它不起作用.
declare
stmt varchar2(2000);
begin
for i in 1021 .. 6020
loop
stmt := 'insert into MY_TBL (Col) values(\'ER0002\')';
dbms_output.put_line(stmt);
execute immediate stmt;
commit;
end loop;
exception
when others then
rollback;
dbms_output.put_line(sqlerrm);
end;
/
Run Code Online (Sandbox Code Playgroud) 我知道这已经在某种程度上得到了PHP和MYSQL的回答,但我想知道是否有人可以教我最简单的方法将字符串(逗号分隔)拆分为Oracle 10g(最好)和11g中的多行.
表格如下:
Name | Project | Error
108 test Err1, Err2, Err3
109 test2 Err1
Run Code Online (Sandbox Code Playgroud)
我想创建以下内容:
Name | Project | Error
108 Test Err1
108 Test Err2
108 Test Err3
109 Test2 Err1
Run Code Online (Sandbox Code Playgroud)
我已经看到了一些围绕堆栈的潜在解决方案,但是它们只占了一个列(以逗号分隔的字符串).任何帮助将不胜感激.