Help Center/
    
      
      GaussDB/
      
      
        
        
        Developer Guide(Centralized_V2.0-8.x)/
        
        
        Application Development Guide/
        
        
        ECPG-based Development/
        
        
        Running SQL Commands/
        
        
        Embedded SQL Commands/
        
      
      TYPE
    
  
  
    
        Updated on 2025-05-29 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
TYPE
Function
Defines a new data type. This command is identified only when ecpg is run with the -c option.
Syntax
TYPE type_name IS ctype
Parameters
type_name
Data type name.
ctype
C type description.
Examples
EXEC SQL TYPE customer IS
    struct
    {
        varchar name[50];
        int     phone;
    };
EXEC SQL TYPE cust_ind IS
    struct ind
    {
        short   name_ind;
        short   phone_ind;
    };
EXEC SQL TYPE c IS char reference;
EXEC SQL TYPE ind IS union { int integer; short smallint; };
EXEC SQL TYPE intarray IS int[AMOUNT];
EXEC SQL TYPE str IS varchar[BUFFERSIZ];
EXEC SQL TYPE string IS char[11];
  
   Example of using EXEC SQL TYPE (note that the -c parameter needs to be added in the ecpg preprocessing phase when the following example is used):
   
  #include <stdlib.h>
#include <string.h>
#include <stdio.h>
EXEC SQL WHENEVER SQLERROR SQLPRINT;  
EXEC SQL TYPE tt IS 
    struct 
    { 
        varchar v[256]; 
        int     i; 
    };  
EXEC SQL TYPE tt_ind IS 
    struct ind { 
        short   v_ind; 
        short   i_ind; 
    };  
int main(void) 
{ 
EXEC SQL BEGIN DECLARE SECTION; 
    tt t; 
    tt_ind t_ind; 
EXEC SQL END DECLARE SECTION; 
     EXEC SQL CONNECT TO testdb AS con1; 
     EXEC SQL SELECT current_database(), 256 INTO :t:t_ind LIMIT 1; 
     printf("t.v = %s\n", t.v.arr); 
     printf("t.i = %d\n", t.i); 
     printf("t_ind.v_ind = %d\n", t_ind.v_ind); 
     printf("t_ind.i_ind = %d\n", t_ind.i_ind); 
     EXEC SQL DISCONNECT con1; 
     return 0; 
}
  
   The output of this example is as follows.
   
 t.v = testdb t.i = 256 t_ind.v_ind = 0 t_ind.i_ind = 0
   Parent topic: Embedded SQL Commands
  
 Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
                The system is busy. Please try again later.
                
            
        For any further questions, feel free to contact us through the chatbot.
Chatbot