Inserting rows in to table A where condition with table B

Table A (id_A, value_A) Table B (id_B, value_B)
id1 com
id2 net
id3 org
id2 edu
id1 company
id2 network

We want insert a default record into B
B(id_#; "unknow")
for all exist id_# in A to B
Just like:
B(id3; "unknow")
B(id4; "unknow")
because id3 and id4 not in B

pseudo SQL

INSERT INTO table B
 VALUES (A.id_#, "unknow")
 WHERE A.id_# NOT IN table B

SYBASE:
using procedure

PRINT 'Create procedure insert_proc ...'
GO

CREATE PROC insert_proc
AS
DECLARE
   @in_trans tinyint,
   @id_A INT

   SELECT @in_trans = 0,
   	  @id_A = 0

        BEGIN TRANSACTION migrate

        IF @@error <> 0
        BEGIN
                GOTO error
        END
        ELSE
                SELECT @in_trans = 1

        DECLARE cur_table_B CURSOR FOR
		SELECT id_A
		FROM A
		WHERE id_A NOT IN (SELECT id_B FROM B)

	OPEN cur_table_B
        IF @@error <> 0 OR @@sqlstatus = 1
        BEGIN
                GOTO error
        END

        FETCH cur_table_B INTO
                @id_A
	IF @@error <> 0 OR @@sqlstatus = 1
        BEGIN
                GOTO error
        END

	WHILE @@sqlstatus = 0
        BEGIN

			INSERT INTO B (
			id_B, value_B)
			VALUES (
			@id_A, "unknow")

			FETCH cur_table_B INTO
                @id_A

                IF @@error <> 0 OR @@sqlstatus = 1
                BEGIN
                        GOTO error
                END

		END

   COMMIT TRANSACTION migrate
   RETURN 0
error:
   IF @in_trans = 1
	ROLLBACK TRANSACTION migrate
   RETURN -1
GO

/*******************************************************************/
/* Main  */
/*******************************************************************/

DECLARE
    @retcode INT

    /* Initialize */
    SELECT @retcode=0

    EXEC @retcode = insert_proc
    IF @@error <> 0 OR @retcode <> 0
    BEGIN
 	GOTO error
    END

    PRINT 'SUCCESSFULLY COMPLETED'
error:
	PRINT ''
GO

/*********************************************************************/
/* Drop stored procedures used in migration                          */
/*********************************************************************/
PRINT 'Dropping proc insert_proc...'
GO
IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'insert_proc')
	DROP PROC insert_proc
GO

exit

ORACLE:
using procedure

set def on
set feedback off
set serveroutput on
set linesize 180

EXEC DBMS_OUTPUT.PUT_LINE('Insert records ...')
DECLARE
BEGIN

	DECLARE CURSOR A_proc IS
		SELECT id_A
		FROM A
		WHERE id_A NOT IN (SELECT id_B FROM B)
		FOR UPDATE;

	BEGIN
		FOR A_rec IN A_proc LOOP

			INSERT INTO B (
			id_B, value_B)
			VALUES (
			A_rec.id_A, "unknow");

		END LOOP;
	END;
EXCEPTION
	WHEN OTHERS THEN
		NULL;
END;

/
exit
Loading