`

用视图能显示单行超过255个字符的例子

阅读更多
sql 代码
  1. /*   
  2. 说明:    
  3.      在调试sql脚本时,如果要用Dbms_Output.Put_Line显示脚本中的变量,如果变量中的内容单行长度   
  4.      超过了255个字符,会提示下面错误:   
  5.      ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line   
  6.      所以我们可以用下面的已经创建好的包和视图来实现。   
  7.         
  8.      简单点说就是也可以创建一个表,其中一个字段为long,将变量插入后再用select去查看。上面方式省略了创建表的过程。   
  9. */   
  10. -- 第一步   
  11. create or replace package my_output    
  12. as    
  13.      procedure put( s in varchar2 );    
  14.      procedure put_line( s in varchar2 );    
  15.      procedure new_line;    
  16.      
  17.      function get_line( n in number ) return varchar2;    
  18.      pragma restrict_references( get_line, wnds, rnds );    
  19.      
  20.      function get_line_count return number;    
  21.      pragma restrict_references( get_line_count, wnds, rnds, wnps );    
  22.      
  23.      pragma restrict_references( my_output, wnds, rnds, wnps, rnps );    
  24. end;    
  25.   
  26. -- 第二步     
  27. create or replace package body my_output    
  28. as    
  29.      type Array is table of varchar2(4000) index by binary_integer;    
  30.      g_data        array;    
  31.      g_cnt        number default 1;    
  32.      
  33.      procedure put( s in varchar2 )    
  34.      is    
  35.      begin    
  36.          if ( g_data.last is not null ) then    
  37.              g_data(g_data.last) := g_data(g_data.last) || s;    
  38.          else    
  39.              g_data(1) := s;    
  40.          end if;    
  41.      end;    
  42.      
  43.      procedure put_line( s in varchar2 )    
  44.      is    
  45.      begin    
  46.          put( s );    
  47.          g_data(g_data.last+1) := null;    
  48.      end;    
  49.      
  50.      procedure new_line    
  51.      is    
  52.      begin    
  53.          put( null );    
  54.          g_data(g_data.last+1) := null;    
  55.      end;    
  56.      
  57.      function get_line( n in number ) return varchar2    
  58.      is    
  59.          l_str varchar2(4000) default g_data(n);    
  60.      begin    
  61.          g_data.delete(n);    
  62.          return l_str;    
  63.      end;    
  64.      
  65.      function get_line_count return number    
  66.      is    
  67.      begin    
  68.          return g_data.count+1;    
  69.      end;    
  70.      
  71. end;    
  72.   
  73. -- 第三步   
  74. create or replace view my_output_view    
  75. as    
  76. select rownum lineno, my_output.get_line( rownum ) text    
  77.    from all_objects    
  78.   where rownum < ( select my_output.get_line_count from dual );    
  79.   
  80. -----------------------------------------------------------------   
  81. -- 实现   
  82. -- 1 写入要查看的内容   
  83. declare    
  84.   QuerySql varchar2(4000);   
  85. begin     
  86.   Dbms_Output.enable(4000);   
  87.   QuerySql   :=' IIDD AS ID, IsDel AS 已删除, AnJianID AS 案件编号, BaoGaoRenXM AS 报案人姓名, JieBaoRenXM AS 接报人姓名, JieBaoShiJian AS 接报时间, BM_MingCheng AS 办案单位名称  From XZ_ShouLiDengJi a WHERE  (exists (Select ''S'' from GG_AnJianBanLi  where AnJianID=a.AnJianID) and not exists (Select ''S'' From GG_AnJian Where AnJianID=a.AnJianID and HuiBiRenYuan_BH like ''%admin%'')) ORDER BY AddDateTime DESC';   
  88.   Dbms_Output.Put_Line('LENGTH : ' || Length(QuerySql));   
  89.   my_output.put_line(QuerySql);    
  90. end;    
  91. -- 2 查看结果   
  92. select * from my_output_view    
  93.   
  94.   
  95.   
  96.   
  97.   
  98.   
  99.   
分享到:
评论

相关推荐

    安卓Andriod源码——textView显示图片的例子_TextImage.zip

    TextView作为Android SDK中的一个视图类,主要用于显示单行或多行文本。通常,TextView只处理文本内容,但在特定需求下,我们可以通过一些技巧让TextView显示图像。这通常是通过设置自定义的SpannableString或利用...

    Android学习笔记四:基本视图组件:TextView

    例如,可以使用`setText()`方法动态改变文本内容,`setGravity()`设置内容在视图中的对齐方式,`setHighlightColor()`设置选中文本的颜色,`setSingleLine()`限制文本为单行显示等。 对于复杂的文本格式,TextView...

    mfc文本框的例子

    在Microsoft Foundation Classes (MFC) 库中,文本框(TextBox)是一种常见的用户界面元素,用于接收和显示单行或多行文本输入。本教程将深入探讨MFC中的文本框使用,以及如何在实际项目中创建和操作它们。 一、MFC...

    Android自学笔记-11-listview简单例子

    在这个例子中,我们可以使用ArrayAdapter,它可以直接接收一个字符串数组: ```java String[] items = {"Item 1", "Item 2", "Item 3"}; ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter(this, android.R.layout....

    【原创】c# ListView 大图标显示(分装用户控件)

    在这个【原创】c# ListView 大图标显示的项目中,开发者使用了Visual Studio 2005(VS2005)作为开发环境,创建了一个用户控件,专门用于展示大图标模式下的ListView。 1. **控件封装与复用**: 开发者将ListView...

    YYKit之YYText例子

    2. **创建YYLabel或YYTextView**:这两个是YYText提供的视图控件,分别用于显示单行或多行的富文本。 3. **设置富文本**:使用NSAttributedString或者YYTextComponent来构建富文本内容,可以添加自定义属性,比如...

    IOS 下 Label的例子

    在iOS开发中,UILabel是苹果提供的一个非常基础且重要的组件,用于显示单行或多行文本。这个组件在用户界面设计中扮演着信息展示的角色,比如显示应用标题、提示信息、数据值等。本教程将深入讲解如何在iOS下使用...

    Android TextView 控件例子

    这将在界面上创建一个显示“Hello, World!”的文本视图。 2. **属性设置** - `android:text`: 设置显示的文本内容。 - `android:textSize`: 设置字体大小,单位可以是sp(可缩放像素)或dp(密度独立像素)。 -...

    flex在eclipse的例子

    "flex在eclipse的例子"这个标题所指的,是使用Eclipse作为开发工具来创建和管理Flex项目的一个实例。Eclipse通过插件ADT(Adobe Flex Builder)或FDT(Flex Development Tools)来支持Flex开发。这些插件提供了代码...

    wpf在一定区域内循环滚动文字

    Label控件是WPF中最基础的文本展示组件,它可以显示简单的单行或多行文本。为了使文字在特定区域内循环滚动,我们需要借助一些额外的编程技巧和逻辑。 首先,我们要创建一个Label控件,并将其大小设置为滚动区域的...

    安卓常用控件例子集合

    1. **TextView**:TextView是显示文本的基本控件,可以用来显示单行或多行文本。在示例中,可能包含了不同字体、颜色、大小以及对齐方式的展示。 2. **EditText**:EditText用于用户输入数据,如文本、数字等。它...

    ios-controller 的简单使用案列.zip

    使用UILabel可以简单地显示单行或多行文本,而UITextView则支持多行文本编辑和滚动。 5. **自定义视图控制器**: 为了实现特定的界面和行为,开发者常常需要自定义UIViewController的子类。在这个案例中,自定义的...

    Android用ListView显示SDCard文件列表的小例子

    这里使用了`ArrayAdapter&lt;String&gt;`,它能将一个字符串列表转换为ListView可用的数据源。我们遍历`files` 数组,将每个文件的名称(`getName()` 方法返回)添加到`mFileName` 集合中。`ArrayAdapter` 的构造函数接受...

    学习QT的一些资源 都是很好的例子

    这个资源包中的例子应该包含了各种常见的组件使用,建议逐个尝试,理解每个例子的实现逻辑,并尝试修改和扩展,以提高学习效果。 总的来说,QT是一个强大且灵活的开发工具,掌握好窗口组件的使用是开发高效GUI应用...

    linux gtk编程教程(带例子代码)

    - **clist.c**:这个例子展示了如何使用`GtkList`或`GtkTreeView`控件来显示和操作列表数据。这些控件允许用户浏览和选择多行数据,常用于数据表或目录列表。 - **text.c**:演示了`GtkTextBuffer`和`GtkTextView`...

    swing 例子大全

    4. **JTextField**: 提供单行文本输入,用户可以在其中输入字符。 5. **JTextArea**: 支持多行文本输入和显示,常用于编辑器或日志显示。 6. **JComboBox**: 下拉列表选择框,允许用户从预定义的选项中选择一个。 ...

    横向滚动的label.zipIOS应用例子源码下载

    UILabel是iOS SDK中的一个UI组件,用于显示单行或多行的文本。默认情况下,如果文本超过UILabel的边界,它将自动换行以适应内容。然而,在某些设计中,可能需要使文本在水平方向上滚动,以显示全部内容而无需用户...

    不等高cell例子_XIB.zip

    而每个单元格(cell)是显示单行数据的组件。在某些情况下,为了提供更丰富的用户体验,我们可能需要让这些cell的高度根据它们的内容动态调整,这就涉及到不等高cell的设计和实现。 描述中提到的“XIB”是指XML ...

    关于textview的例子

    本示例探讨的是TextView的一个特殊用法——实现跑马灯效果,即文本内容在视图范围内不能完全显示时,能自动循环滚动。这种效果通常在通知栏消息、广告轮播或空间有限的场景下使用。 首先,要实现TextView的跑马灯...

Global site tag (gtag.js) - Google Analytics