Here is a complete SQL script to create and populate a custom ASCII lookup table with character codes (0–127) and their corresponding descriptions/names.
✅ Step 1: Create the table
CREATE TABLE ascii_lookup (
ascii_code NUMBER PRIMARY KEY,
character CHAR(1),
name VARCHAR2(50)
);
✅ Step 2: Insert values for ASCII 0–127
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (0, CHR(0), 'NULL');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (1, CHR(1), 'START OF HEADING');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (2, CHR(2), 'START OF TEXT');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (3, CHR(3), 'END OF TEXT');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (4, CHR(4), 'END OF TRANSMISSION');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (5, CHR(5), 'ENQUIRY');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (6, CHR(6), 'ACKNOWLEDGE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (7, CHR(7), 'BELL');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (8, CHR(8), 'BACKSPACE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (9, CHR(9), 'HORIZONTAL TAB');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (10, CHR(10), 'LINE FEED');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (11, CHR(11), 'VERTICAL TAB');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (12, CHR(12), 'FORM FEED');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (13, CHR(13), 'CARRIAGE RETURN');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (14, CHR(14), 'SHIFT OUT');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (15, CHR(15), 'SHIFT IN');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (16, CHR(16), 'DATA LINK ESCAPE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (17, CHR(17), 'DEVICE CONTROL 1 (XON)');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (18, CHR(18), 'DEVICE CONTROL 2');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (19, CHR(19), 'DEVICE CONTROL 3 (XOFF)');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (20, CHR(20), 'DEVICE CONTROL 4');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (21, CHR(21), 'NEGATIVE ACKNOWLEDGE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (22, CHR(22), 'SYNCHRONOUS IDLE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (23, CHR(23), 'END OF TRANSMISSION BLOCK');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (24, CHR(24), 'CANCEL');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (25, CHR(25), 'END OF MEDIUM');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (26, CHR(26), 'SUBSTITUTE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (27, CHR(27), 'ESCAPE');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (28, CHR(28), 'FILE SEPARATOR');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (29, CHR(29), 'GROUP SEPARATOR');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (30, CHR(30), 'RECORD SEPARATOR');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (31, CHR(31), 'UNIT SEPARATOR');
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (32, CHR(32), 'SPACE');
-- Printable characters 33 to 126
DECLARE
i NUMBER;
BEGIN
FOR i IN 33..126 LOOP
INSERT INTO ascii_lookup (ascii_code, character, name)
VALUES (i, CHR(i), 'Printable character');
END LOOP;
END;
/
INSERT INTO ascii_lookup (ascii_code, character, name) VALUES (127, CHR(127), 'DELETE');
✅ Step 3: Commit the changes
COMMIT;
✅ Step 4: Query Examples
Find name of ASCII character for code 10:
SELECT * FROM ascii_lookup WHERE ascii_code = 10;
Find ASCII code for a character:
SELECT * FROM ascii_lookup WHERE character = 'A';
Tags:
Oracle